| 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
| 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)