Mercurial > urweb
comparison src/urweb.grm @ 1306:3a845f2ce9e9
:::_ notation; switch to TooDeep error message
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 10 Oct 2010 20:33:10 -0400 |
parents | d008c4c43a0a |
children | 02fc16faecf3 |
comparison
equal
deleted
inserted
replaced
1305:a6fc03d28170 | 1306:3a845f2ce9e9 |
---|---|
210 %term | 210 %term |
211 EOF | 211 EOF |
212 | STRING of string | INT of Int64.int | FLOAT of Real64.real | CHAR of char | 212 | STRING of string | INT of Int64.int | FLOAT of Real64.real | CHAR of char |
213 | SYMBOL of string | CSYMBOL of string | 213 | SYMBOL of string | CSYMBOL of string |
214 | LPAREN | RPAREN | LBRACK | RBRACK | LBRACE | RBRACE | 214 | LPAREN | RPAREN | LBRACK | RBRACK | LBRACE | RBRACE |
215 | EQ | COMMA | COLON | DCOLON | DCOLONWILD | TCOLON | DOT | HASH | UNDER | UNDERUNDER | BAR | 215 | EQ | COMMA | COLON | DCOLON | DCOLONWILD | TCOLON | TCOLONWILD | DOT | HASH | UNDER | UNDERUNDER | BAR |
216 | PLUS | MINUS | DIVIDE | DOTDOTDOT | MOD | AT | 216 | PLUS | MINUS | DIVIDE | DOTDOTDOT | MOD | AT |
217 | CON | LTYPE | VAL | REC | AND | FUN | MAP | UNIT | KUNIT | CLASS | 217 | CON | LTYPE | VAL | REC | AND | FUN | MAP | UNIT | KUNIT | CLASS |
218 | DATATYPE | OF | 218 | DATATYPE | OF |
219 | TYPE | NAME | 219 | TYPE | NAME |
220 | ARROW | LARROW | DARROW | STAR | SEMI | KARROW | DKARROW | BANG | 220 | ARROW | LARROW | DARROW | STAR | SEMI | KARROW | DKARROW | BANG |
392 %nonassoc IF THEN ELSE | 392 %nonassoc IF THEN ELSE |
393 %nonassoc DARROW | 393 %nonassoc DARROW |
394 %left ANDALSO | 394 %left ANDALSO |
395 %left ORELSE | 395 %left ORELSE |
396 %nonassoc COLON | 396 %nonassoc COLON |
397 %nonassoc DCOLON TCOLON | 397 %nonassoc DCOLON TCOLON DCOLONWILD TCOLONWILD |
398 %left UNION INTERSECT EXCEPT | 398 %left UNION INTERSECT EXCEPT |
399 %right COMMA | 399 %right COMMA |
400 %right JOIN INNER CROSS OUTER LEFT RIGHT FULL | 400 %right JOIN INNER CROSS OUTER LEFT RIGHT FULL |
401 %right OR | 401 %right OR |
402 %right CAND | 402 %right CAND |
1109 val loc = s (LBRACKleft, RBRACKright) | 1109 val loc = s (LBRACKleft, RBRACKright) |
1110 in | 1110 in |
1111 ((ECAbs (kcolon, SYMBOL, kind, e), loc), | 1111 ((ECAbs (kcolon, SYMBOL, kind, e), loc), |
1112 (TCFun (kcolon, SYMBOL, kind, t), loc)) | 1112 (TCFun (kcolon, SYMBOL, kind, t), loc)) |
1113 end) | 1113 end) |
1114 | LBRACK SYMBOL TCOLONWILD RBRACK (fn (e, t) => | |
1115 let | |
1116 val loc = s (LBRACKleft, RBRACKright) | |
1117 val kind = (KWild, loc) | |
1118 in | |
1119 ((ECAbs (Implicit, SYMBOL, kind, e), loc), | |
1120 (TCFun (Implicit, SYMBOL, kind, t), loc)) | |
1121 end) | |
1114 | LBRACK cexp TWIDDLE cexp RBRACK(fn (e, t) => | 1122 | LBRACK cexp TWIDDLE cexp RBRACK(fn (e, t) => |
1115 let | 1123 let |
1116 val loc = s (LBRACKleft, RBRACKright) | 1124 val loc = s (LBRACKleft, RBRACKright) |
1117 in | 1125 in |
1118 ((EDisjoint (cexp1, cexp2, e), loc), | 1126 ((EDisjoint (cexp1, cexp2, e), loc), |