From 6f3fa80b37ca5f8d992f5d6f66aee77ead303bf4 Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Mon, 26 May 2025 14:42:35 +0200 Subject: Symbol table --- parser.fun | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'parser.fun') diff --git a/parser.fun b/parser.fun index 20c1c76..b571a40 100644 --- a/parser.fun +++ b/parser.fun @@ -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 "." -- cgit v1.2.3