summaryrefslogtreecommitdiff
path: root/cpp.sig
blob: beed8c2e1c94bd266e5d9c5689da6bf39ddd65e4 (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
signature CPP = sig
  structure T: TOKENIZER

  type t
  type tkPos
  type tkExpectedValue

  exception TkExpected of tkExpectedValue

  datatype tkExp =
    Tk of T.token |
    Id |
    NumConst |
    StrLiteral |
    UnOp |
    BinOp |
    Op

  val create: string -> t
  val getToken: t -> T.token * t
  val getLastPos: t -> tkPos

  val prepAndRaise: t -> tkPos -> tkExp list -> 'a
  val tkExpectedPrint: tkExpectedValue -> unit

  val debugPrint: string -> unit
end