summaryrefslogtreecommitdiff
path: root/cpp.sig
blob: 378a5d42f5fb5c11b8fb3dce5a4b7f74bc0f692f (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 CPP = sig
  type t
  type tkPos
  type tkExpectedValue

  exception TkExpected of tkExpectedValue

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

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

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

  val debugPrint: string -> unit
end