Import Upstream version 20180207
[hcoop/debian/mlton.git] / mlton / elaborate / precedence-parse.sig
1 (* Copyright (C) 2009,2017 Matthew Fluet.
2 * Copyright (C) 1999-2006 Henry Cejtin, Matthew Fluet, Suresh
3 * Jagannathan, and Stephen Weeks.
4 * Copyright (C) 1997-2000 NEC Research Institute.
5 *
6 * MLton is released under a BSD-style license.
7 * See the file MLton-LICENSE for details.
8 *)
9
10 signature PRECEDENCE_PARSE_STRUCTS =
11 sig
12 structure Ast: AST
13 structure Env: ELABORATE_ENV
14 sharing Ast = Env.Ast
15 end
16
17 signature PRECEDENCE_PARSE =
18 sig
19 include PRECEDENCE_PARSE_STRUCTS
20
21 val parseClause:
22 Ast.Pat.t vector * Env.t * (unit -> Layout.t)
23 -> {args: Ast.Pat.t vector,
24 func: Ast.Var.t}
25 val parseExp: Ast.Exp.t vector * Env.t * (unit -> Layout.t) -> Ast.Exp.t
26 val parsePat: Ast.Pat.t vector * Env.t * (unit -> Layout.t) -> Ast.Pat.t
27 end