summaryrefslogtreecommitdiff
path: root/ppc.sig
blob: 53d4ed24e4b00ee2d7f499065a6a39e4b2ff8bc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
signature PPC = sig

  structure T: TOKENIZER

  type t
  type tkPos

  datatype tkClass =
    Ctk of T.token |
    Cid |
    Cconst |
    Cstrlit |
    Cunop |
    Cbinop |
    Cop |
    Cexpr

  val clerror: tkPos -> tkClass list -> 'a
  val error: tkPos -> ((bool * ((string -> unit) * (unit -> unit)))
    * ('a * ((string -> unit) * (unit -> unit)) -> 'b) -> 'c) -> 'c

  val create: { fname: string, incDirs: string list, debugMode: bool } -> t
  val getToken: t -> T.token * tkPos * t
  val debugPrint: string -> string list -> unit

  val ? : (int, 'a, 'b, 'c) a1printer
  val psid: int -> 'a acc -> unit
  val Ptk: (T.token, 'a, 'b, 'c) a1printer
  val PtkPos: (tkPos, 'a, 'b, 'c) a1printer
end