Mercurial > urweb
comparison src/urweb.grm @ 446:86c063fedc4d
Parsing 'let'
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sat, 01 Nov 2008 10:47:10 -0400 |
parents | dfc8c991abd0 |
children | f542bc3133dc |
comparison
equal
deleted
inserted
replaced
445:dfc8c991abd0 | 446:86c063fedc4d |
---|---|
196 | CON | LTYPE | VAL | REC | AND | FUN | FOLD | UNIT | KUNIT | CLASS | 196 | CON | LTYPE | VAL | REC | AND | FUN | FOLD | UNIT | KUNIT | CLASS |
197 | DATATYPE | OF | 197 | DATATYPE | OF |
198 | TYPE | NAME | 198 | TYPE | NAME |
199 | ARROW | LARROW | DARROW | STAR | SEMI | 199 | ARROW | LARROW | DARROW | STAR | SEMI |
200 | FN | PLUSPLUS | MINUSMINUS | DOLLAR | TWIDDLE | 200 | FN | PLUSPLUS | MINUSMINUS | DOLLAR | TWIDDLE |
201 | LET | IN | |
201 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN | SQL | 202 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN | SQL |
202 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT | TABLE | SEQUENCE | 203 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT | TABLE | SEQUENCE |
203 | CASE | IF | THEN | ELSE | 204 | CASE | IF | THEN | ELSE |
204 | 205 |
205 | XML_BEGIN of string | XML_END | XML_BEGIN_END of string | 206 | XML_BEGIN of string | XML_END | XML_BEGIN_END of string |
270 | xml of exp | 271 | xml of exp |
271 | xmlOne of exp | 272 | xmlOne of exp |
272 | tag of string * exp | 273 | tag of string * exp |
273 | tagHead of string * exp | 274 | tagHead of string * exp |
274 | bind of string * con option * exp | 275 | bind of string * con option * exp |
276 | edecl of edecl | |
277 | edecls of edecl list | |
275 | 278 |
276 | earg of exp * con -> exp * con | 279 | earg of exp * con -> exp * con |
277 | eargp of exp * con -> exp * con | 280 | eargp of exp * con -> exp * con |
278 | eargs of exp * con -> exp * con | 281 | eargs of exp * con -> exp * con |
279 | eargl of exp * con -> exp * con | 282 | eargl of exp * con -> exp * con |
917 (EApp (e, sqlexp), loc) | 920 (EApp (e, sqlexp), loc) |
918 end) | 921 end) |
919 | 922 |
920 | UNDER (EWild, s (UNDERleft, UNDERright)) | 923 | UNDER (EWild, s (UNDERleft, UNDERright)) |
921 | 924 |
925 | LET edecls IN eexp END (ELet (edecls, eexp), s (LETleft, ENDright)) | |
926 | |
927 edecls : ([]) | |
928 | edecl edecls (edecl :: edecls) | |
929 | |
930 edecl : VAL vali ((EDVal vali, s (VALleft, valiright))) | |
931 | VAL REC valis ((EDValRec valis, s (VALleft, valisright))) | |
932 | FUN valis ((EDValRec valis, s (FUNleft, valisright))) | |
933 | |
922 enterDml : (inDml := true) | 934 enterDml : (inDml := true) |
923 leaveDml : (inDml := false) | 935 leaveDml : (inDml := false) |
924 | 936 |
925 texp : SYMBOL (EVar ([], SYMBOL, Infer), s (SYMBOLleft, SYMBOLright)) | 937 texp : SYMBOL (EVar ([], SYMBOL, Infer), s (SYMBOLleft, SYMBOLright)) |
926 | LBRACE LBRACE eexp RBRACE RBRACE (eexp) | 938 | LBRACE LBRACE eexp RBRACE RBRACE (eexp) |