1signature parse_term =
2sig
3  type 'a PStack
4  type 'a qbuf = 'a qbuf.qbuf
5  type term = Term.term
6  datatype stack_terminal = datatype parse_term_dtype.stack_terminal
7  val STtoString : term_grammar.grammar -> stack_terminal -> string
8
9  val initial_pstack : 'a PStack
10  val is_final_pstack : 'a PStack -> bool
11  val top_nonterminal : term PStack -> Absyn.absyn
12
13  exception PrecConflict of stack_terminal * stack_terminal
14  exception ParseTermError of string locn.located
15
16  val parse_term :
17      term_grammar.grammar ->
18      (term qbuf -> Pretype.pretype) ->
19      (term qbuf * term PStack, unit, string locn.located) errormonad.t
20
21  datatype mx_order = datatype parse_term_dtype.mx_order
22  val mk_prec_matrix :
23      term_grammar.grammar ->
24      ((stack_terminal * bool) * stack_terminal, mx_order) Binarymap.dict ref
25
26end
27