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