summaryrefslogtreecommitdiff
path: root/tokenizer.sig
diff options
context:
space:
mode:
authorVladimir Azarov <avm@intermediate-node.net>2025-05-12 01:51:27 +0200
committerVladimir Azarov <avm@intermediate-node.net>2025-05-12 01:51:27 +0200
commit52a6f8656e8a600a2c59fa2802fb46fafb30de45 (patch)
tree72511efdccc742709f40e52ca73b708a0c74c1c6 /tokenizer.sig
parente99a8dc48ede26696be2ba75a8cb0d5122d94598 (diff)
Object-like macros
Diffstat (limited to 'tokenizer.sig')
-rw-r--r--tokenizer.sig11
1 files changed, 5 insertions, 6 deletions
diff --git a/tokenizer.sig b/tokenizer.sig
index d34f934..7ea6f63 100644
--- a/tokenizer.sig
+++ b/tokenizer.sig
@@ -13,6 +13,8 @@ signature TOKENIZER = sig
Invalid |
EOS |
NewLine |
+ MacroStart of string |
+ MacroEnd |
Num of numConst |
@@ -122,17 +124,14 @@ signature TOKENIZER = sig
CppError |
CppPragma
- type fullToken = S.pos * token
-
(* Fatal. both may be thrown by tokenize *)
exception FsmTableIsTooSmall
- exception TkErrorAug of S.ppos * string
+ exception TkErrorAug of S.pos * string
- val getToken: S.t -> fullToken option * S.t
+ val getToken: S.t -> token * S.pos * S.t
- val tokenize: S.t -> fullToken list
val token2str: token -> string
val printToken: token -> unit
- val debugPrint: fullToken list -> string -> unit
+ val debugPrint: (token * S.pos) list -> string -> unit
end