comparison src/urweb.grm @ 391:fe8f75f7e130

lt, le working for int
author Adam Chlipala <adamc@hcoop.net>
date Tue, 21 Oct 2008 10:56:43 -0400
parents acaf9d19fbb7
children 8084fa9216de
comparison
equal deleted inserted replaced
390:519366a76603 391:fe8f75f7e130
695 | eexp PLUS eexp (native_op ("plus", eexp1, eexp2, s (eexp1left, eexp2right))) 695 | eexp PLUS eexp (native_op ("plus", eexp1, eexp2, s (eexp1left, eexp2right)))
696 | eexp MINUS eexp (native_op ("minus", eexp1, eexp2, s (eexp1left, eexp2right))) 696 | eexp MINUS eexp (native_op ("minus", eexp1, eexp2, s (eexp1left, eexp2right)))
697 | eterm STAR eexp (native_op ("times", eterm, eexp, s (etermleft, eexpright))) 697 | eterm STAR eexp (native_op ("times", eterm, eexp, s (etermleft, eexpright)))
698 | eexp DIVIDE eexp (native_op ("div", eexp1, eexp2, s (eexp1left, eexp2right))) 698 | eexp DIVIDE eexp (native_op ("div", eexp1, eexp2, s (eexp1left, eexp2right)))
699 | eexp MOD eexp (native_op ("mod", eexp1, eexp2, s (eexp1left, eexp2right))) 699 | eexp MOD eexp (native_op ("mod", eexp1, eexp2, s (eexp1left, eexp2right)))
700
701 | eexp LT eexp (native_op ("lt", eexp1, eexp2, s (eexp1left, eexp2right)))
702 | eexp LE eexp (native_op ("le", eexp1, eexp2, s (eexp1left, eexp2right)))
703 | eexp GT eexp (native_op ("gt", eexp1, eexp2, s (eexp1left, eexp2right)))
704 | eexp GE eexp (native_op ("ge", eexp1, eexp2, s (eexp1left, eexp2right)))
705
700 | eexp WITH cterm EQ eexp (EWith (eexp1, cterm, eexp2), s (eexp1left, eexp2right)) 706 | eexp WITH cterm EQ eexp (EWith (eexp1, cterm, eexp2), s (eexp1left, eexp2right))
701 707
702 eargs : earg (earg) 708 eargs : earg (earg)
703 | eargl (eargl) 709 | eargl (eargl)
704 710
981 else 987 else
982 ErrorMsg.errorAt pos "Begin and end tags don't match."; 988 ErrorMsg.errorAt pos "Begin and end tags don't match.";
983 (EFold, pos)) 989 (EFold, pos))
984 end) 990 end)
985 | LBRACE eexp RBRACE (eexp) 991 | LBRACE eexp RBRACE (eexp)
992 | LBRACE LBRACK eexp RBRACK RBRACE (let
993 val loc = s (LBRACEleft, RBRACEright)
994 val e = (EVar (["Top"], "txt"), loc)
995 val e = (EApp (e, (EWild, loc)), loc)
996 in
997 (EApp (e, eexp), loc)
998 end)
986 999
987 tag : tagHead attrs (let 1000 tag : tagHead attrs (let
988 val pos = s (tagHeadleft, attrsright) 1001 val pos = s (tagHeadleft, attrsright)
989 in 1002 in
990 (#1 tagHead, 1003 (#1 tagHead,