/* Grammar * Expression --> Term PrimeExpression * PrimeExpression --> (+|-)Expression | Null * Term --> Factor PrimeTerm * PrimeTerm --> (*|/)Term | Null * Factor --> -Expression | (Expression) | operand */ #pragma once #include "tokenizer.hpp" #include "syntax_tree.hpp" class Parser { private: // Private methods. void parseExpression(); void parsePrimeExpression(); void parseTerm(); void parsePrimeTerm(); void parseFactor(); // End of private methods. public: Parser(); const SyntaxTree *parse(); };