Import Upstream version 20180207
[hcoop/debian/mlton.git] / mlyacc / src / absyn.sig
CommitLineData
7f918cf1
CE
1(* Modified by Vesa Karvonen on 2007-12-18.
2 * Create line directives in output.
3 *)
4(* ML-Yacc Parser Generator (c) 1989 Andrew W. Appel, David R. Tarditi *)
5
6signature ABSYN =
7 sig
8 datatype exp = EVAR of string
9 | EAPP of exp * exp
10 | ETUPLE of exp list
11 | EINT of int
12 | FN of pat * exp
13 | LET of decl list * exp
14 | UNIT
15 | SEQ of exp * exp
16 | CODE of {text : string, pos : Header.pos}
17 and pat = PVAR of string
18 | PAPP of string * pat
19 | PTUPLE of pat list
20 | PLIST of pat list * pat option
21 | PINT of int
22 | WILD
23 | AS of string * pat
24 and decl = VB of pat * exp
25 and rule = RULE of pat * exp
26 val printRule : ((string -> unit) * (string -> unit)
27 * (Header.pos option -> string))
28 -> rule -> unit
29 end