diff options
author | Vladimir Azarov <avm@intermediate-node.net> | 2025-05-26 21:06:51 +0200 |
---|---|---|
committer | Vladimir Azarov <avm@intermediate-node.net> | 2025-05-26 21:06:51 +0200 |
commit | 3a32398248e5593b1b536c837478cab276f7aebf (patch) | |
tree | 55ff4004a06278c84908668c26d39d0fc3098a08 /parser.fun | |
parent | 6f3fa80b37ca5f8d992f5d6f66aee77ead303bf4 (diff) |
Simpler tokenizer
Diffstat (limited to 'parser.fun')
-rw-r--r-- | parser.fun | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -92,7 +92,7 @@ functor Parser(P: PPC): PARSER = struct datatype expr = Enum | Eid of int | - Estrlit of string | + Estrlit of int | EmemberByV of int * exprAug | EmemberByP of int * exprAug | EfuncCall of exprAug * exprAug list | @@ -254,7 +254,7 @@ functor Parser(P: PPC): PARSER = struct case e of Eid id => Printf out P.?id P % | Enum => Printf out `"num" P % - | Estrlit s => Printf out `"\"" `s `"\"" P % + | Estrlit s => Printf out P.?s P % | EmemberByV pair => member pair "." | EmemberByP pair => member pair "->" | EfuncCall (func, args) => ( @@ -399,7 +399,7 @@ functor Parser(P: PPC): PARSER = struct in case tk of Tk (T.Id id) => wrap $ Eid id - | Tk (T.StringConst s) => wrap $ Estrlit s + | Tk (T.Strlit id) => wrap $ Estrlit id | Tk (T.CharConst _) => raise Unimplemented | Tk (T.Num _) => wrap Enum | TkParens list => |