Files
smnp-py/smnp/ast/node/block.py
Bartłomiej Pluta 261530eb10 Clean code
2019-07-11 19:51:47 +02:00

18 lines
543 B
Python

from smnp.ast.node.model import Node
from smnp.ast.node.statement import StatementParser
from smnp.ast.parser import Parser
from smnp.token.type import TokenType
class Block(Node):
pass
def BlockParser(input):
return Parser.loop(
Parser.terminalParser(TokenType.OPEN_CURLY),
Parser.doAssert(StatementParser, f"statement or '{TokenType.CLOSE_CURLY.key}'"),
Parser.terminalParser(TokenType.CLOSE_CURLY),
createNode=lambda open, statements, close: Block.withChildren(statements, open.pos)
)(input)