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

Diff of /parser/parser.ml

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

revision 77 by abate, Tue Jul 10 17:04:07 2007 UTC revision 78 by abate, Tue Jul 10 17:04:23 2007 UTC
# Line 91  Line 91 
91      [ e1 = expr; op = ["*" | "/"]; e2 = expr -> mk loc (Op (op,[e1;e2]))      [ e1 = expr; op = ["*" | "/"]; e2 = expr -> mk loc (Op (op,[e1;e2]))
92      ]      ]
93      |      |
94      [ e = expr;  "."; l = [LIDENT | UIDENT] -> mk loc (Dot (e,Types.label l))      [ e = expr;  "."; l = [LIDENT | UIDENT] ->
95            mk loc (Dot (e,Types.LabelPool.mk l))
96      ]      ]
97    
98      |      |
# Line 254  Line 255 
255      [ [ r = LIST0 [ l = [LIDENT | UIDENT];      [ [ r = LIST0 [ l = [LIDENT | UIDENT];
256                    o = ["=?" -> true | "=" -> false];                    o = ["=?" -> true | "=" -> false];
257                    x = pat ->                    x = pat ->
258                      mk loc (Record (Types.label l,o,x))                      mk loc (Record (Types.LabelPool.mk l,o,x))
259                  ] SEP ";" ->                  ] SEP ";" ->
260          match r with          match r with
261            | [] -> mk loc (Internal Types.Record.any)            | [] -> mk loc (Internal Types.Record.any)
# Line 271  Line 272 
272    const:    const:
273      [      [
274        [ i = INT -> Types.Integer (Big_int.big_int_of_string i)        [ i = INT -> Types.Integer (Big_int.big_int_of_string i)
275        | "`"; a = [LIDENT | UIDENT] -> Types.Atom (Types.mk_atom a)        | "`"; a = [LIDENT | UIDENT] -> Types.Atom (Types.AtomPool.mk a)
276        | c = char -> Types.Char c ]        | c = char -> Types.Char c ]
277      ];      ];
278    
# Line 279  Line 280 
280      [      [
281        [ LIDENT "_" -> mk loc (Internal (Types.atom (Atoms.any))) ]        [ LIDENT "_" -> mk loc (Internal (Types.atom (Atoms.any))) ]
282      | [ a = [LIDENT | UIDENT] ->      | [ a = [LIDENT | UIDENT] ->
283            mk loc (Internal (Types.atom (Atoms.atom (Types.mk_atom a)))) ]            mk loc (Internal (Types.atom (Atoms.atom (Types.AtomPool.mk a)))) ]
284      | [ t = pat -> t ]      | [ t = pat -> t ]
285      ];      ];
286    
# Line 288  Line 289 
289    
290    expr_record_spec:    expr_record_spec:
291      [ [ r = LIST1      [ [ r = LIST1
292                [ l = [LIDENT | UIDENT]; "="; x = expr -> (Types.label l,x) ]                [ l = [LIDENT | UIDENT]; "="; x = expr ->
293                      (Types.LabelPool.mk l,x) ]
294                SEP ";" ->                SEP ";" ->
295            mk loc (RecordLitt r)            mk loc (RecordLitt r)
296        ] ];        ] ];
# Line 296  Line 298 
298    expr_tag_spec:    expr_tag_spec:
299      [      [
300        [ a = [LIDENT | UIDENT] ->        [ a = [LIDENT | UIDENT] ->
301            mk loc (Cst (Types.Atom (Types.mk_atom a))) ]            mk loc (Cst (Types.Atom (Types.AtomPool.mk a))) ]
302      | [ e = expr LEVEL "no_appl" -> e ]      | [ e = expr LEVEL "no_appl" -> e ]
303      ];      ];
304    

Legend:
Removed from v.77  
changed lines
  Added in v.78

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