Commit | Line | Data |
---|---|---|
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 | ||
6 | signature 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 |