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

Diff of /parser/ast.ml

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

revision 54 by abate, Tue Jul 10 17:01:32 2007 UTC revision 159 by abate, Tue Jul 10 17:11:29 2007 UTC
# Line 15  Line 15 
15  and debug_directive =  and debug_directive =
16    [ `Filter of ppat * ppat    [ `Filter of ppat * ppat
17    | `Accept of ppat    | `Accept of ppat
18    | `Compile of ppat * ppat list ]    | `Compile of ppat * ppat list
19      | `Normal_record of ppat
20      | `Compile2 of ppat * ppat list
21      ]
22    
23    
24  and pexpr = pexpr' located  and pexpr = pexpr' located
25  and pexpr' =  and pexpr' =
   (* For debugging the typer: an expression with prescribed type *)  
   | DebugTyper of ppat  
   
26    | Forget of pexpr * ppat    | Forget of pexpr * ppat
27    (* CDuce is a Lambda-calculus ... *)    (* CDuce is a Lambda-calculus ... *)
28    | Var of string    | Var of string
# Line 32  Line 32 
32    (* Data constructors *)    (* Data constructors *)
33    | Cst of Types.const    | Cst of Types.const
34    | Pair of pexpr * pexpr    | Pair of pexpr * pexpr
35      | Xml of pexpr * pexpr
36    | RecordLitt of (Types.label * pexpr) list    | RecordLitt of (Types.label * pexpr) list
37    
38    (* Data destructors *)    (* Data destructors *)
# Line 39  Line 40 
40    | Match of pexpr * branches    | Match of pexpr * branches
41    | Map of pexpr * branches    | Map of pexpr * branches
42    | Dot of (pexpr* Types.label)    | Dot of (pexpr* Types.label)
43    
44      (* Exceptions *)
45      | Try of pexpr * branches
46    
47  and abstr = {  and abstr = {
48    fun_name : string option;    fun_name : string option;
49    fun_iface : (ppat * ppat) list;    fun_iface : (ppat * ppat) list;
# Line 55  Line 60 
60    | Recurs of ppat * (string * ppat) list    | Recurs of ppat * (string * ppat) list
61    | Internal of Types.descr    | Internal of Types.descr
62    | Or of ppat * ppat    | Or of ppat * ppat
63    | And of ppat * ppat * bool    | And of ppat * ppat
64    | Diff of ppat * ppat    | Diff of ppat * ppat
65    | Prod of ppat * ppat    | Prod of ppat * ppat
66      | XmlT of ppat * ppat
67    | Arrow of ppat * ppat    | Arrow of ppat * ppat
68    | Record of Types.label * bool * ppat    | Record of bool * (Types.label * bool * ppat) list
69    | Capture of Patterns.capture    | Capture of Patterns.capture
70    | Constant of Patterns.capture * Types.const    | Constant of Patterns.capture * Types.const
71    | Regexp of regexp * ppat    | Regexp of regexp * ppat

Legend:
Removed from v.54  
changed lines
  Added in v.159

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