comparison src/lacweb.grm @ 190:3eb53c957d10

Checkboxes
author Adam Chlipala <adamc@hcoop.net>
date Thu, 07 Aug 2008 13:09:26 -0400
parents b2d752455182
children aa54250f58ac
comparison
equal deleted inserted replaced
189:20bf7487c370 190:3eb53c957d10
49 | TYPE | NAME 49 | TYPE | NAME
50 | ARROW | LARROW | DARROW 50 | ARROW | LARROW | DARROW
51 | FN | PLUSPLUS | MINUSMINUS | DOLLAR | TWIDDLE 51 | FN | PLUSPLUS | MINUSMINUS | DOLLAR | TWIDDLE
52 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN 52 | STRUCTURE | SIGNATURE | STRUCT | SIG | END | FUNCTOR | WHERE | EXTERN
53 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT 53 | INCLUDE | OPEN | CONSTRAINT | CONSTRAINTS | EXPORT
54 | CASE 54 | CASE | IF | THEN | ELSE
55 55
56 | XML_BEGIN of string | XML_END 56 | XML_BEGIN of string | XML_END
57 | NOTAGS of string 57 | NOTAGS of string
58 | BEGIN_TAG of string | END_TAG of string 58 | BEGIN_TAG of string | END_TAG of string
59 59
316 end) 316 end)
317 317
318 | LPAREN eexp RPAREN DCOLON cexp (EAnnot (eexp, cexp), s (LPARENleft, cexpright)) 318 | LPAREN eexp RPAREN DCOLON cexp (EAnnot (eexp, cexp), s (LPARENleft, cexpright))
319 | eexp MINUSMINUS cexp (ECut (eexp, cexp), s (eexpleft, cexpright)) 319 | eexp MINUSMINUS cexp (ECut (eexp, cexp), s (eexpleft, cexpright))
320 | CASE eexp OF barOpt branch branchs (ECase (eexp, branch :: branchs), s (CASEleft, branchsright)) 320 | CASE eexp OF barOpt branch branchs (ECase (eexp, branch :: branchs), s (CASEleft, branchsright))
321 | IF eexp THEN eexp ELSE eexp (let
322 val loc = s (IFleft, eexp3right)
323 in
324 (ECase (eexp1, [((PCon (["Basis"], "True", NONE), loc), eexp2),
325 ((PCon (["Basis"], "False", NONE), loc), eexp3)]), loc)
326 end)
321 327
322 eterm : LPAREN eexp RPAREN (#1 eexp, s (LPARENleft, RPARENright)) 328 eterm : LPAREN eexp RPAREN (#1 eexp, s (LPARENleft, RPARENright))
323 329
324 | path (EVar path, s (pathleft, pathright)) 330 | path (EVar path, s (pathleft, pathright))
325 | cpath (EVar cpath, s (cpathleft, cpathright)) 331 | cpath (EVar cpath, s (cpathleft, cpathright))