comparison src/lacweb.grm @ 14:f1c36df29ed7

Primitive type constants
author Adam Chlipala <adamc@hcoop.net>
date Sun, 08 Jun 2008 12:27:08 -0400
parents d89477f07c1e
children 1e645beb3f3b
comparison
equal deleted inserted replaced
13:6049e2193bf2 14:f1c36df29ed7
34 %% 34 %%
35 %header (functor LacwebLrValsFn(structure Token : TOKEN)) 35 %header (functor LacwebLrValsFn(structure Token : TOKEN))
36 36
37 %term 37 %term
38 EOF 38 EOF
39 | STRING of string | INT of Int64.int | FLOAT of Real64.real
39 | SYMBOL of string | CSYMBOL of string 40 | SYMBOL of string | CSYMBOL of string
40 | LPAREN | RPAREN | LBRACK | RBRACK | LBRACE | RBRACE 41 | LPAREN | RPAREN | LBRACK | RBRACK | LBRACE | RBRACE
41 | EQ | COMMA | COLON | DCOLON | TCOLON | DOT | HASH 42 | EQ | COMMA | COLON | DCOLON | TCOLON | DOT | HASH
42 | CON | LTYPE | VAL 43 | CON | LTYPE | VAL
43 | TYPE | NAME 44 | TYPE | NAME
153 eterm : LPAREN eexp RPAREN (#1 eexp, s (LPARENleft, RPARENright)) 154 eterm : LPAREN eexp RPAREN (#1 eexp, s (LPARENleft, RPARENright))
154 155
155 | SYMBOL (EVar SYMBOL, s (SYMBOLleft, SYMBOLright)) 156 | SYMBOL (EVar SYMBOL, s (SYMBOLleft, SYMBOLright))
156 | LBRACE rexp RBRACE (ERecord rexp, s (LBRACEleft, RBRACEright)) 157 | LBRACE rexp RBRACE (ERecord rexp, s (LBRACEleft, RBRACEright))
157 158
159 | INT (EPrim (Prim.Int INT), s (INTleft, INTright))
160 | FLOAT (EPrim (Prim.Float FLOAT), s (FLOATleft, FLOATright))
161 | STRING (EPrim (Prim.String STRING), s (STRINGleft, STRINGright))
162
158 rexp : ([]) 163 rexp : ([])
159 | ident EQ eexp ([(ident, eexp)]) 164 | ident EQ eexp ([(ident, eexp)])
160 | ident EQ eexp COMMA rexp ((ident, eexp) :: rexp) 165 | ident EQ eexp COMMA rexp ((ident, eexp) :: rexp)