Mercurial > urweb
comparison src/urweb.grm @ 493:ae03d09043c1
Add CutMulti
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 11 Nov 2008 19:20:37 -0500 |
parents | 6ee1c761818f |
children | 4154b4dc62c6 |
comparison
equal
deleted
inserted
replaced
492:4a241d108a2c | 493:ae03d09043c1 |
---|---|
195 | PLUS | MINUS | DIVIDE | DOTDOTDOT | MOD | AT | 195 | PLUS | MINUS | DIVIDE | DOTDOTDOT | MOD | AT |
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 | MINUSMINUSMINUS | DOLLAR | TWIDDLE |
201 | LET | IN | 201 | LET | IN |
202 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN | SQL | 202 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN | SQL |
203 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT | TABLE | SEQUENCE | 203 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT | TABLE | SEQUENCE |
204 | COOKIE | 204 | COOKIE |
205 | CASE | IF | THEN | ELSE | 205 | CASE | IF | THEN | ELSE |
346 %right COMMA | 346 %right COMMA |
347 %right OR | 347 %right OR |
348 %right CAND | 348 %right CAND |
349 %nonassoc EQ NE LT LE GT GE IS | 349 %nonassoc EQ NE LT LE GT GE IS |
350 %right ARROW | 350 %right ARROW |
351 %right PLUSPLUS MINUSMINUS | 351 %right PLUSPLUS MINUSMINUS MINUSMINUSMINUS |
352 %left PLUS MINUS | 352 %left PLUS MINUS |
353 %left STAR DIVIDE MOD | 353 %left STAR DIVIDE MOD |
354 %left NOT | 354 %left NOT |
355 %nonassoc TWIDDLE | 355 %nonassoc TWIDDLE |
356 %nonassoc DOLLAR | 356 %nonassoc DOLLAR |
690 in | 690 in |
691 #1 (eargs (eexp, (CWild (KType, loc), loc))) | 691 #1 (eargs (eexp, (CWild (KType, loc), loc))) |
692 end) | 692 end) |
693 | eexp COLON cexp (EAnnot (eexp, cexp), s (eexpleft, cexpright)) | 693 | eexp COLON cexp (EAnnot (eexp, cexp), s (eexpleft, cexpright)) |
694 | eexp MINUSMINUS cexp (ECut (eexp, cexp), s (eexpleft, cexpright)) | 694 | eexp MINUSMINUS cexp (ECut (eexp, cexp), s (eexpleft, cexpright)) |
695 | eexp MINUSMINUSMINUS cexp (ECutMulti (eexp, cexp), s (eexpleft, cexpright)) | |
695 | CASE eexp OF barOpt branch branchs (ECase (eexp, branch :: branchs), s (CASEleft, branchsright)) | 696 | CASE eexp OF barOpt branch branchs (ECase (eexp, branch :: branchs), s (CASEleft, branchsright)) |
696 | IF eexp THEN eexp ELSE eexp (let | 697 | IF eexp THEN eexp ELSE eexp (let |
697 val loc = s (IFleft, eexp3right) | 698 val loc = s (IFleft, eexp3right) |
698 in | 699 in |
699 (ECase (eexp1, [((PCon (["Basis"], "True", NONE), loc), eexp2), | 700 (ECase (eexp1, [((PCon (["Basis"], "True", NONE), loc), eexp2), |