From 386c89502a6e486cb881e2b4778add7d0da89a2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Pluta?= Date: Fri, 12 Jul 2019 17:14:40 +0200 Subject: [PATCH] Improve assertions on if/else statement --- smnp/ast/node/condition.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/smnp/ast/node/condition.py b/smnp/ast/node/condition.py index 35eb40b..770be9d 100644 --- a/smnp/ast/node/condition.py +++ b/smnp/ast/node/condition.py @@ -47,22 +47,22 @@ class IfElse(Node): def IfElseStatementParser(input): ifStatementParser = Parser.allOf( Parser.terminal(TokenType.IF), - Parser.doAssert(Parser.terminal(TokenType.OPEN_PAREN), TokenType.OPEN_PAREN.key), - Parser.doAssert(ExpressionParser, "expression"), - Parser.doAssert(Parser.terminal(TokenType.CLOSE_PAREN), TokenType.CLOSE_PAREN.key), - Parser.doAssert(StatementParser, "statement"), + Parser.terminal(TokenType.OPEN_PAREN), + ExpressionParser, + Parser.terminal(TokenType.CLOSE_PAREN), + StatementParser, createNode=lambda _, __, condition, ___, ifStatement: IfElse.createNode(ifStatement, condition), name="if statement" ) ifElseStatementParser = Parser.allOf( Parser.terminal(TokenType.IF), - Parser.doAssert(Parser.terminal(TokenType.OPEN_PAREN), TokenType.OPEN_PAREN.key), + Parser.terminal(TokenType.OPEN_PAREN, doAssert=True), Parser.doAssert(ExpressionParser, "expression"), - Parser.doAssert(Parser.terminal(TokenType.CLOSE_PAREN), TokenType.CLOSE_PAREN.key), + Parser.terminal(TokenType.CLOSE_PAREN, doAssert=True), Parser.doAssert(StatementParser, "statement"), Parser.terminal(TokenType.ELSE), - StatementParser, + Parser.doAssert(StatementParser, "statement"), createNode=lambda _, __, condition, ___, ifStatement, ____, elseStatement: IfElse.createNode(ifStatement, condition, elseStatement), name="if-else statement" )