summaryrefslogtreecommitdiff
path: root/parser.fun
diff options
context:
space:
mode:
authorVladimir Azarov <avm@intermediate-node.net>2025-05-26 14:42:35 +0200
committerVladimir Azarov <avm@intermediate-node.net>2025-05-26 14:42:35 +0200
commit6f3fa80b37ca5f8d992f5d6f66aee77ead303bf4 (patch)
tree1d3099280e63fac03d906b24bc6b877840348eab /parser.fun
parentc6b6203f8420f76a47433717eab8026d524ec5c1 (diff)
Symbol table
Diffstat (limited to 'parser.fun')
-rw-r--r--parser.fun14
1 files changed, 7 insertions, 7 deletions
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 "."