()
| 73 | } |
| 74 | |
| 75 | _moreExp() { |
| 76 | let termNode; |
| 77 | let exprNode; |
| 78 | switch (this.token.type) { |
| 79 | case '+': |
| 80 | this.token = this.lexer.getNextToken(this.decimalCharacter); |
| 81 | termNode = this._term(); |
| 82 | exprNode = this._moreExp(); |
| 83 | |
| 84 | return ASTNode.createNode('op_+', exprNode, termNode); |
| 85 | case '-': |
| 86 | this.token = this.lexer.getNextToken(this.decimalCharacter); |
| 87 | termNode = this._term(); |
| 88 | exprNode = this._moreExp(); |
| 89 | |
| 90 | return ASTNode.createNode('op_-', exprNode, termNode); |
| 91 | } |
| 92 | |
| 93 | return ASTNode.createLeaf(0); |
| 94 | } |
| 95 | |
| 96 | _term() { |
| 97 | const factorNode = this._factor(); |
no test coverage detected