Mercurial > urweb
comparison src/urweb.grm @ 674:fab5998b840e
Type class reductions, but no inclusions yet
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Thu, 26 Mar 2009 14:37:31 -0400 |
parents | 6c4643880df5 |
children | 500e93aa436f |
comparison
equal
deleted
inserted
replaced
673:a8effb6159c2 | 674:fab5998b840e |
---|---|
186 | PLUS | MINUS | DIVIDE | DOTDOTDOT | MOD | AT | 186 | PLUS | MINUS | DIVIDE | DOTDOTDOT | MOD | AT |
187 | CON | LTYPE | VAL | REC | AND | FUN | MAP | UNIT | KUNIT | CLASS | 187 | CON | LTYPE | VAL | REC | AND | FUN | MAP | UNIT | KUNIT | CLASS |
188 | DATATYPE | OF | 188 | DATATYPE | OF |
189 | TYPE | NAME | 189 | TYPE | NAME |
190 | ARROW | LARROW | DARROW | STAR | SEMI | KARROW | DKARROW | BANG | 190 | ARROW | LARROW | DARROW | STAR | SEMI | KARROW | DKARROW | BANG |
191 | FN | PLUSPLUS | MINUSMINUS | MINUSMINUSMINUS | DOLLAR | TWIDDLE | 191 | FN | PLUSPLUS | MINUSMINUS | MINUSMINUSMINUS | DOLLAR | TWIDDLE | CARET |
192 | LET | IN | 192 | LET | IN |
193 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN | SQL | 193 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN | SQL |
194 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT | TABLE | SEQUENCE | 194 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT | TABLE | SEQUENCE |
195 | COOKIE | 195 | COOKIE |
196 | CASE | IF | THEN | ELSE | 196 | CASE | IF | THEN | ELSE |
339 %right COMMA | 339 %right COMMA |
340 %right OR | 340 %right OR |
341 %right CAND | 341 %right CAND |
342 %nonassoc EQ NE LT LE GT GE IS | 342 %nonassoc EQ NE LT LE GT GE IS |
343 %right ARROW | 343 %right ARROW |
344 %right PLUSPLUS MINUSMINUS MINUSMINUSMINUS | 344 %right CARET PLUSPLUS MINUSMINUS MINUSMINUSMINUS |
345 %left PLUS MINUS | 345 %left PLUS MINUS |
346 %left STAR DIVIDE MOD | 346 %left STAR DIVIDE MOD |
347 %left NOT | 347 %left NOT |
348 %nonassoc TWIDDLE | 348 %nonassoc TWIDDLE |
349 %nonassoc DOLLAR | 349 %nonassoc DOLLAR |
750 | eexp LE eexp (native_op ("le", eexp1, eexp2, s (eexp1left, eexp2right))) | 750 | eexp LE eexp (native_op ("le", eexp1, eexp2, s (eexp1left, eexp2right))) |
751 | eexp GT eexp (native_op ("gt", eexp1, eexp2, s (eexp1left, eexp2right))) | 751 | eexp GT eexp (native_op ("gt", eexp1, eexp2, s (eexp1left, eexp2right))) |
752 | eexp GE eexp (native_op ("ge", eexp1, eexp2, s (eexp1left, eexp2right))) | 752 | eexp GE eexp (native_op ("ge", eexp1, eexp2, s (eexp1left, eexp2right))) |
753 | 753 |
754 | eexp PLUSPLUS eexp (EConcat (eexp1, eexp2), s (eexp1left, eexp2right)) | 754 | eexp PLUSPLUS eexp (EConcat (eexp1, eexp2), s (eexp1left, eexp2right)) |
755 | |
756 | eexp CARET eexp (native_op ("strcat", eexp1, eexp2, s (eexp1left, eexp2right))) | |
755 | 757 |
756 bind : SYMBOL LARROW eapps (SYMBOL, NONE, eapps) | 758 bind : SYMBOL LARROW eapps (SYMBOL, NONE, eapps) |
757 | UNIT LARROW eapps (let | 759 | UNIT LARROW eapps (let |
758 val loc = s (UNITleft, eappsright) | 760 val loc = s (UNITleft, eappsright) |
759 in | 761 in |