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

Diff of /parser/parser.ml

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

revision 51 by abate, Tue Jul 10 17:01:10 2007 UTC revision 52 by abate, Tue Jul 10 17:01:20 2007 UTC
# Line 67  Line 67 
67          mk loc (Match (e1,[p,e2]))          mk loc (Match (e1,[p,e2]))
68      ]      ]
69    
     |  
     [ LIDENT "flatten"; e = expr -> mk loc (Op ("flatten",[e]))  
     | e1 = expr; e2 = expr -> mk loc (Apply (e1,e2))  
     ]  
70    
71      |      |
72      [ e1 = expr; op = ["+" | "-" | "@"]; e2 = expr -> mk loc (Op (op,[e1;e2]))      [ e1 = expr; op = ["+" | "-" | "@"]; e2 = expr -> mk loc (Op (op,[e1;e2]))
# Line 82  Line 78 
78      [ e = expr;  "."; l = [LIDENT | UIDENT] -> mk loc (Dot (e,Types.label l))      [ e = expr;  "."; l = [LIDENT | UIDENT] -> mk loc (Dot (e,Types.label l))
79      ]      ]
80    
81        |
82        [ LIDENT "flatten"; e = expr -> mk loc (Op ("flatten",[e]))
83        | e1 = expr; e2 = expr -> mk loc (Apply (e1,e2))
84        ]
85    
86      | "no_appl"      | "no_appl"
87      [ c = const -> mk loc (Cst c)      [ c = const -> mk loc (Cst c)
88      | "("; l = LIST1 expr SEP ","; ")" -> tuple loc l      | "("; l = LIST1 expr SEP ","; ")" -> tuple loc l
# Line 185  Line 186 
186        | i = INT ; "--"; j = INT ->        | i = INT ; "--"; j = INT ->
187            let i = Big_int.big_int_of_string i            let i = Big_int.big_int_of_string i
188            and j = Big_int.big_int_of_string j in            and j = Big_int.big_int_of_string j in
189            mk loc (Internal (Types.interval i j))            mk loc (Internal (Types.interval (Intervals.bounded i j)))
190          | i = INT ->
191              let i = Big_int.big_int_of_string i  in
192              mk loc (Internal (Types.interval (Intervals.atom i)))
193          | "*--"; j = INT ->
194              let j = Big_int.big_int_of_string j in
195              mk loc (Internal (Types.interval (Intervals.left j)))
196          | i = INT; "--*" ->
197              let i = Big_int.big_int_of_string i in
198              mk loc (Internal (Types.interval (Intervals.right i)))
199        | i = char ->        | i = char ->
200            mk loc (Internal (Types.char (Chars.char_class i i)))            mk loc (Internal (Types.char (Chars.char_class i i)))
201        | i = char ; "--"; j = char ->        | i = char ; "--"; j = char ->

Legend:
Removed from v.51  
changed lines
  Added in v.52

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