26 lines
494 B
OCaml
26 lines
494 B
OCaml
|
type ident = string
|
||
|
|
||
|
type location = Lexing.position * Lexing.position
|
||
|
|
||
|
type base_ty =
|
||
|
| Tbool
|
||
|
| Tint
|
||
|
|
||
|
type p_pattern = string
|
||
|
and p_expression = string
|
||
|
|
||
|
type p_equation =
|
||
|
{ peq_patt: p_pattern;
|
||
|
peq_expr: p_expression }
|
||
|
|
||
|
type p_node =
|
||
|
{ pn_name: ident;
|
||
|
pn_input: (ident * base_ty) list;
|
||
|
pn_output: (ident * base_ty) list;
|
||
|
pn_local_vars: (ident* base_ty) list;
|
||
|
pn_equations: p_equation list;
|
||
|
pn_loc: location; }
|
||
|
|
||
|
type p_prog = p_node list
|
||
|
|