blob: 958619a11a65681fe18285325e5c97503e89d982 (
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
signature TOKENIZER = sig
structure ST: SYMTAB
structure S: STREAM
datatype token =
Invalid |
EOS |
NewLine |
MacroEnd of int |
Id of int |
CharConst of int * Word64.word |
Num of int |
Strlit of int * int |
kwBreak |
kwCase |
kwChar |
kwConst |
kwContinue |
kwDefault |
kwDo |
kwDouble |
kwElse |
kwEnum |
kwExtern |
kwFloat |
kwFor |
kwGoto |
kwIf |
kwInt |
kwLong |
kwRegister |
kwReturn |
kwShort |
kwSigned |
kwSizeof |
kwStatic |
kwStruct |
kwSwitch |
kwTypedef |
kwUnion |
kwUnsigned |
kwVoid |
kwVolatile |
kwWhile |
LParen |
RParen |
LBracket |
RBracket |
LBrace |
RBrace |
QuestionMark |
Colon |
Comma |
Semicolon |
Arrow |
Plus |
DoublePlus|
Minus |
DoubleMinus |
Ampersand |
Asterisk |
Slash |
Tilde |
ExclMark |
Percent |
DoubleGreater |
DoubleLess |
Greater |
Less |
EqualSign |
LessEqualSign |
GreaterEqualSign |
DoubleEqualSign |
ExclMarkEqualSign |
Cap |
VerticalBar |
DoubleAmpersand |
DoubleVerticalBar |
AsteriskEqualSign |
SlashEqualSign |
PercentEqualSign |
PlusEqualSign |
MinusEqualSign |
DoubleLessEqualSign |
DoubleGreaterEqualSign |
AmpersandEqualSign |
CapEqualSign |
VerticalBarEqualSign |
Hash |
DoubleHash |
Dot |
DoubleDot |
TripleDot |
CommentStart |
PpcInclude of string * string |
PpcDefine |
PpcUndef |
PpcIf |
PpcIfdef |
PpcIfndef |
PpcElse |
PpcElif |
PpcEndif |
PpcWarning |
PpcError |
PpcPragma
val initSymtab: unit -> token ST.t
val getToken: token ST.t -> S.t -> token * S.pos * S.t
val Ptk: (token ST.t, token, 'a, 'b, 'c) a2printer
val isPpcDir: token -> bool
val debugPrint: string -> unit
end
|