summary refs log tree commit diff
path: root/src/libexpr/parser.y
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2006-07-24 16:35:34 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2006-07-24 16:35:34 +0000
commitf4c5531d928caadee75d66bba40994f55f839be7 (patch)
tree04ed6655b0cf1043761b6d3978ff35b3794a6c42 /src/libexpr/parser.y
parent88acffa20ac45fd13b65a1d9143e0400ae0bde47 (diff)
downloadguix-f4c5531d928caadee75d66bba40994f55f839be7.tar.gz
* New language feature: domain checks, which check whether a function
  argument has a valid value, i.e., is in a certain domain.  E.g.,

    { foo : [true false]
    , bar : ["a" "b" "c"]
    }: ...

  This previously could be done using assertions, but domain checks
  will allow the buildfarm to automatically extract the configuration
  space from functions.

Diffstat (limited to 'src/libexpr/parser.y')
-rw-r--r--src/libexpr/parser.y2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y
index b28aa27601..c1e3b48a79 100644
--- a/src/libexpr/parser.y
+++ b/src/libexpr/parser.y
@@ -206,7 +206,7 @@ formals
 
 formal
   : ID { $$ = makeFormal($1, makeUnrestrictedValues(), makeNoDefaultValue()); }
-//  | ID ':' '[' expr_list ']' { $$ = makeDefFormal($1, $3); }
+  | ID ':' '[' expr_list ']' { $$ = makeFormal($1, makeValidValues($4), makeNoDefaultValue()); }
   | ID '?' expr { $$ = makeFormal($1, makeUnrestrictedValues(), makeDefaultValue($3)); }
   ;