Parse new `var' primitive
[hcoop/domtool2.git] / src / domtool.grm
index 0cc4fbd..ea6db74 100644 (file)
@@ -34,7 +34,7 @@ open Ast
  | EQ | COMMA | BSLASH | BSLASHBSLASH | SEMI | LET | IN | BEGIN | END
  | IF | THEN | ELSE
  | ROOT | SKIP
- | EXTERN | TYPE | VAL | WITH | WHERE | CONTEXT
+ | EXTERN | TYPE | VAL | ENV | WITH | WHERE | CONTEXT
 
 %nonterm 
    file of file
@@ -90,14 +90,15 @@ decl'  : EXTERN TYPE SYMBOL                (DExternType SYMBOL)
        | EXTERN VAL SYMBOL COLON typ       (DExternVal (SYMBOL, typ))
        | VAL SYMBOL EQ exp                 (DVal (SYMBOL, NONE, exp))
        | VAL SYMBOL COLON typ EQ exp       (DVal (SYMBOL, SOME typ, exp))
+       | ENV CSYMBOL EQ exp                (DEnv (CSYMBOL, NONE, exp))
+       | ENV CSYMBOL COLON typ EQ exp      (DEnv (CSYMBOL, SOME typ, exp))
        | CONTEXT CSYMBOL                   (DContext CSYMBOL)
 
 docOpt :                                   (NONE)
        | DOC                               (SOME DOC)
 
 expOpt :                                   (NONE)
-       | exp                               (SOME (ELocal (exp, (ESkip, (expleft, expright))),
-                                                 (expleft, expright)))
+       | exp                               (SOME exp)
 
 
 exp    : apps                              (apps)