diff options
author | Vladimir Azarov <avm@intermediate-node.net> | 2025-05-26 14:42:35 +0200 |
---|---|---|
committer | Vladimir Azarov <avm@intermediate-node.net> | 2025-05-26 14:42:35 +0200 |
commit | 6f3fa80b37ca5f8d992f5d6f66aee77ead303bf4 (patch) | |
tree | 1d3099280e63fac03d906b24bc6b877840348eab /parser.fun | |
parent | c6b6203f8420f76a47433717eab8026d524ec5c1 (diff) |
Symbol table
Diffstat (limited to 'parser.fun')
-rw-r--r-- | parser.fun | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -91,10 +91,10 @@ functor Parser(P: PPC): PARSER = struct datatype expr = Enum | - Eid of string | + Eid of int | Estrlit of string | - EmemberByV of string * exprAug | - EmemberByP of string * exprAug | + EmemberByV of int * exprAug | + EmemberByP of int * exprAug | EfuncCall of exprAug * exprAug list | ETernary of exprAug * exprAug * exprAug | Eunop of unop * exprAug | @@ -128,7 +128,7 @@ functor Parser(P: PPC): PARSER = struct val (tk, _) = head in case tk of - Tk tk => Printf out T.Ptk tk `"," A1 PtokenL tail % + Tk tk => Printf out P.Ptk tk `"," A1 PtokenL tail % | TkParens list => printL list "(" ")" | TkBrackets list => printL list "[" "]" | TkBraces list => printL list "{" "}" @@ -230,7 +230,7 @@ functor Parser(P: PPC): PARSER = struct fun Pbinop (out, binop) = case List.find (fn (binop', _, _, _) => binop' = binop) binopTable of - SOME (_, tk, _, _) => Printf out T.Ptk tk % + SOME (_, tk, _, _) => Printf out P.Ptk tk % | NONE => raise Unreachable in bind A1 Pbinop @@ -248,11 +248,11 @@ functor Parser(P: PPC): PARSER = struct end z fun member (member, ea) s = Printf out - `"(" `s `member P `"\n" A2 printExpr' (off + 1) ea `")" %; + `"(" `s P.?member P `"\n" A2 printExpr' (off + 1) ea `")" %; in printf R off %; case e of - Eid id => Printf out `id P % + Eid id => Printf out P.?id P % | Enum => Printf out `"num" P % | Estrlit s => Printf out `"\"" `s `"\"" P % | EmemberByV pair => member pair "." |