blob: 7bc7997ac0d5868d38841de6fb908ca9d3e50edf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
/* 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();
};
|