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

Diff of /parser/parser.ml

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

revision 338 by abate, Tue Jul 10 17:26:25 2007 UTC revision 339 by abate, Tue Jul 10 17:26:28 2007 UTC
# Line 175  Line 175 
175      |      |
176      [ e1 = expr; op = ["+" | "-" | "@" ]; e2 = expr ->      [ e1 = expr; op = ["+" | "-" | "@" ]; e2 = expr ->
177          exp loc (Op (op,[e1;e2]))          exp loc (Op (op,[e1;e2]))
178      | e = expr; "\\"; l = [LIDENT | UIDENT] ->      | e = expr; "\\"; l = [LIDENT | UIDENT | keyword ] ->
179          exp loc (RemoveField (e,LabelPool.mk l))          exp loc (RemoveField (e,LabelPool.mk l))
180      ]      ]
181      |      |
# Line 192  Line 192 
192          exp loc (Op ("flatten", [Map (e,[b])]))          exp loc (Op ("flatten", [Map (e,[b])]))
193      ]      ]
194      |      |
195      [ e = expr;  "."; l = [LIDENT | UIDENT] ->      [ e = expr;  "."; l = [LIDENT | UIDENT | keyword ] ->
196          exp loc (Dot (e,LabelPool.mk l))          exp loc (Dot (e,LabelPool.mk l))
197      ]      ]
198    
# Line 399  Line 399 
399    ];    ];
400    
401    record_spec:    record_spec:
402      [ [ r = LIST0 [ l = [LIDENT | UIDENT]; "=";      [ [ r = LIST0 [ l = [LIDENT | UIDENT | keyword ]; "=";
403                    o = [ "?" -> true | -> false];                    o = [ "?" -> true | -> false];
404                    x = pat ->                    x = pat ->
405                      let x = if o then mk loc (Optional x) else x in                      let x = if o then mk loc (Optional x) else x in
# Line 417  Line 417 
417    const:    const:
418      [      [
419        [ i = INT -> Types.Integer (Intervals.mk i)        [ i = INT -> Types.Integer (Intervals.mk i)
420        | "`"; a = [LIDENT | UIDENT] -> Types.Atom (Atoms.mk a)        | "`"; a = [LIDENT | UIDENT | keyword ] -> Types.Atom (Atoms.mk a)
421        | c = char -> Types.Char c ]        | c = char -> Types.Char c ]
422      ];      ];
423    
# Line 431  Line 431 
431    
432    expr_record_spec:    expr_record_spec:
433      [ [ r = LIST1      [ [ r = LIST1
434                [ l = [LIDENT | UIDENT]; "="; x = expr ->                [ l = [LIDENT | UIDENT | keyword ]; "="; x = expr ->
435                    (LabelPool.mk l,x) ]                    (LabelPool.mk l,x) ]
436                SEP ";" ->                SEP ";" ->
437            exp loc (RecordLitt (make_record loc r))            exp loc (RecordLitt (make_record loc r))

Legend:
Removed from v.338  
changed lines
  Added in v.339

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