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