| 1 |
(* Abstract syntax as produced by the parsed *) |
(* Abstract syntax as produced by the parsed *) |
| 2 |
|
|
| 3 |
open Location |
open Location |
| 4 |
|
open Ident |
| 5 |
|
|
| 6 |
type pprog = pmodule_item list |
type pprog = pmodule_item list |
| 7 |
|
|
| 27 |
and pexpr' = |
and pexpr' = |
| 28 |
| Forget of pexpr * ppat |
| Forget of pexpr * ppat |
| 29 |
(* CDuce is a Lambda-calculus ... *) |
(* CDuce is a Lambda-calculus ... *) |
| 30 |
| Var of string |
| Var of id |
| 31 |
| Apply of pexpr * pexpr |
| Apply of pexpr * pexpr |
| 32 |
| Abstraction of abstr |
| Abstraction of abstr |
| 33 |
|
|
| 47 |
| Try of pexpr * branches |
| Try of pexpr * branches |
| 48 |
|
|
| 49 |
and abstr = { |
and abstr = { |
| 50 |
fun_name : string option; |
fun_name : id option; |
| 51 |
fun_iface : (ppat * ppat) list; |
fun_iface : (ppat * ppat) list; |
| 52 |
fun_body : branches |
fun_body : branches |
| 53 |
} |
} |
| 68 |
| XmlT of ppat * ppat |
| XmlT of ppat * ppat |
| 69 |
| Arrow of ppat * ppat |
| Arrow of ppat * ppat |
| 70 |
| Record of bool * (Types.label * bool * ppat) list |
| Record of bool * (Types.label * bool * ppat) list |
| 71 |
| Capture of Patterns.capture |
| Capture of id |
| 72 |
| Constant of Patterns.capture * Types.const |
| Constant of id * Types.const |
| 73 |
| Regexp of regexp * ppat |
| Regexp of regexp * ppat |
| 74 |
|
|
| 75 |
and regexp = |
and regexp = |
| 79 |
| Alt of regexp * regexp |
| Alt of regexp * regexp |
| 80 |
| Star of regexp |
| Star of regexp |
| 81 |
| WeakStar of regexp |
| WeakStar of regexp |
| 82 |
| SeqCapture of Patterns.capture * regexp |
| SeqCapture of id * regexp |
| 83 |
|
|