primary: 10,
}
+ RULES = {}
+
def initialize(path)
@lex = Lexer.new(path)
@prev = nil
end
end
- def parseLevel(level)
+ def expression()
+ parseLevel(:assign)
end
- def expression()
- constant()
+ def getRule(tok)
+ RULES[tok.type]
+ end
+
+ def parseLevel(level)
+# advance()
+# prefixRule = getRule(@prev)[:prefix]
+# if not prefixRule then
+# error("expected an expression")
+# end
+# send(prefixRule)
+# while (level <= LEVELS[getRule(@curr)[:level]])
+# advance()
+# infixRule = getRule(@prev)[:infix]
+# send(infixRule)
+# end
end
def constant()