comparison src/lacweb.grm @ 149:7420fa18d657

Record cut
author Adam Chlipala <adamc@hcoop.net>
date Thu, 24 Jul 2008 10:09:21 -0400
parents 6f9e224692ec
children 34ccd7d2bea8
comparison
equal deleted inserted replaced
148:15e8b9775539 149:7420fa18d657
45 | EQ | COMMA | COLON | DCOLON | TCOLON | DOT | HASH | UNDER | UNDERUNDER 45 | EQ | COMMA | COLON | DCOLON | TCOLON | DOT | HASH | UNDER | UNDERUNDER
46 | DIVIDE | GT 46 | DIVIDE | GT
47 | CON | LTYPE | VAL | REC | AND | FOLD | UNIT | KUNIT 47 | CON | LTYPE | VAL | REC | AND | FOLD | UNIT | KUNIT
48 | TYPE | NAME 48 | TYPE | NAME
49 | ARROW | LARROW | DARROW 49 | ARROW | LARROW | DARROW
50 | FN | PLUSPLUS | DOLLAR | TWIDDLE 50 | FN | PLUSPLUS | MINUSMINUS | DOLLAR | TWIDDLE
51 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN 51 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN
52 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT 52 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT
53 53
54 | XML_BEGIN of string | XML_END 54 | XML_BEGIN of string | XML_END
55 | NOTAGS of string 55 | NOTAGS of string
109 %nonassoc DARROW 109 %nonassoc DARROW
110 %nonassoc COLON 110 %nonassoc COLON
111 %nonassoc DCOLON TCOLON 111 %nonassoc DCOLON TCOLON
112 %right COMMA 112 %right COMMA
113 %right ARROW LARROW 113 %right ARROW LARROW
114 %right PLUSPLUS 114 %right PLUSPLUS MINUSMINUS
115 %nonassoc TWIDDLE 115 %nonassoc TWIDDLE
116 %nonassoc DOLLAR 116 %nonassoc DOLLAR
117 %left DOT 117 %left DOT
118 118
119 %% 119 %%
283 in 283 in
284 (EAbs ("_", SOME (TRecord (CRecord [], loc), loc), eexp), loc) 284 (EAbs ("_", SOME (TRecord (CRecord [], loc), loc), eexp), loc)
285 end) 285 end)
286 286
287 | LPAREN eexp RPAREN DCOLON cexp (EAnnot (eexp, cexp), s (LPARENleft, cexpright)) 287 | LPAREN eexp RPAREN DCOLON cexp (EAnnot (eexp, cexp), s (LPARENleft, cexpright))
288 | eexp MINUSMINUS cexp (ECut (eexp, cexp), s (eexpleft, cexpright))
288 289
289 eterm : LPAREN eexp RPAREN (#1 eexp, s (LPARENleft, RPARENright)) 290 eterm : LPAREN eexp RPAREN (#1 eexp, s (LPARENleft, RPARENright))
290 291
291 | path (EVar path, s (pathleft, pathright)) 292 | path (EVar path, s (pathleft, pathright))
292 | LBRACE rexp RBRACE (ERecord rexp, s (LBRACEleft, RBRACEright)) 293 | LBRACE rexp RBRACE (ERecord rexp, s (LBRACEleft, RBRACEright))