/[svn]/parser/parser.ml
ViewVC logotype

Diff of /parser/parser.ml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 228 by abate, Tue Jul 10 17:16:34 2007 UTC revision 229 by abate, Tue Jul 10 17:17:01 2007 UTC
# Line 108  Line 108 
108      [ e1 = expr; op = ["+" | "-" | "@"]; e2 = expr -> mk loc (Op (op,[e1;e2]))      [ e1 = expr; op = ["+" | "-" | "@"]; e2 = expr -> mk loc (Op (op,[e1;e2]))
109      ]      ]
110      |      |
111        [ e1 = expr; "++"; "{"; l = [LIDENT | UIDENT]; "="; e = expr; "}" ->
112            assert false
113        ]
114        |
115      [ e1 = expr; op = ["*"]; e2 = expr -> mk loc (Op (op,[e1;e2]))      [ e1 = expr; op = ["*"]; e2 = expr -> mk loc (Op (op,[e1;e2]))
116      | e = expr; op = "/"; p = pat ->      | e = expr; op = "/"; p = pat ->
117    
# Line 322  Line 326 
326    record_spec:    record_spec:
327      [ [ r = LIST0 [ l = [LIDENT | UIDENT]; "=";      [ [ r = LIST0 [ l = [LIDENT | UIDENT]; "=";
328                    o = [ "?" -> true | -> false];                    o = [ "?" -> true | -> false];
329                    x = pat -> (Types.LabelPool.mk l,o,x)                    x = pat ->
330                        let x = if o then mk loc (Optional x) else x in
331                        (Types.LabelPool.mk l, x)
332                  ] SEP ";" ->                  ] SEP ";" ->
333            (* TODO: check here uniqueness *)            (* TODO: check here uniqueness *)
334            List.sort (fun (l1,_,_) (l2,_,_) -> compare l1 l2) r            List.sort (fun (l1,_) (l2,_) -> compare l1 l2) r
335        ] ];        ] ];
336    
337    char:    char:

Legend:
Removed from v.228  
changed lines
  Added in v.229

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5