Add support for parsing BOOL to AST

This commit is contained in:
Bartłomiej Pluta
2019-07-10 13:54:21 +02:00
parent 26a2b27def
commit 9408c63e06
4 changed files with 18 additions and 1 deletions

13
smnp/ast/node/bool.py Normal file
View File

@@ -0,0 +1,13 @@
from smnp.ast.node.access import AccessNode
from smnp.ast.node.literal import LiteralNode
from smnp.token.type import TokenType
class BoolLiteralNode(LiteralNode, AccessNode):
def __init__(self, pos):
super().__init__(pos)
del self.children[1]
@classmethod
def _getTokenType(cls):
return TokenType.BOOL

View File

@@ -53,6 +53,7 @@ class ExpressionNode(Node):
from smnp.ast.node.integer import IntegerLiteralNode
from smnp.ast.node.string import StringLiteralNode
from smnp.ast.node.note import NoteLiteralNode
from smnp.ast.node.bool import BoolLiteralNode
from smnp.ast.node.identifier import IdentifierNode
from smnp.ast.node.list import ListNode
from smnp.ast.node.map import MapNode
@@ -62,6 +63,7 @@ class ExpressionNode(Node):
IntegerLiteralNode.parse,
StringLiteralNode.parse,
NoteLiteralNode.parse,
BoolLiteralNode.parse,
IdentifierNode.parse,
MapNode.parse,
ListNode.parse,

View File

@@ -1,4 +1,5 @@
from smnp.ast.node.access import AccessNode
from smnp.ast.node.bool import BoolLiteralNode
from smnp.ast.node.expression import ExpressionNode
from smnp.ast.node.integer import IntegerLiteralNode
from smnp.ast.node.iterable import abstractIterableParser
@@ -57,5 +58,6 @@ class MapNode(AccessNode):
IntegerLiteralNode._literalParser(),
StringLiteralNode._literalParser(),
NoteLiteralNode._literalParser(),
BoolLiteralNode._literalParser(),
TypeNode.parse
)