summaryrefslogtreecommitdiff
path: root/ppc.sig
blob: 0bfaca78dc7032bc44761556889db6372f96e46d (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
signature PPC = sig

  structure T: TOKENIZER

  type t
  type tkPos

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

  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 PtkPos: (tkPos, 'a, 'b, 'c) a1printer
end