diff --git a/smnp/newast/node/note.py b/smnp/newast/node/note.py index 4bb2353..fb6bcf0 100644 --- a/smnp/newast/node/note.py +++ b/smnp/newast/node/note.py @@ -1,10 +1,13 @@ -from smnp.newast.node.expression import ExpressionNode -from smnp.newast.parser import Parser +from smnp.newast.node.access import AccessNode +from smnp.newast.node.literal import LiteralNode from smnp.token.type import TokenType -class NoteLiteralNode(ExpressionNode): +class NoteLiteralNode(LiteralNode, AccessNode): + def __init__(self, pos): + super().__init__(pos) + del self.children[1] @classmethod - def _parse(cls, input): - return Parser.terminalParser(TokenType.NOTE, lambda v, pos: NoteLiteralNode.withValue(v, pos))(input) \ No newline at end of file + def _getTokenType(cls): + return TokenType.NOTE \ No newline at end of file diff --git a/smnp/newast/node/string.py b/smnp/newast/node/string.py index 938a2ce..851ee8e 100644 --- a/smnp/newast/node/string.py +++ b/smnp/newast/node/string.py @@ -1,11 +1,13 @@ -from smnp.newast.node.expression import ExpressionNode -from smnp.newast.parser import Parser +from smnp.newast.node.access import AccessNode +from smnp.newast.node.literal import LiteralNode from smnp.token.type import TokenType -class StringLiteralNode(ExpressionNode): +class StringLiteralNode(LiteralNode, AccessNode): + def __init__(self, pos): + super().__init__(pos) + del self.children[1] @classmethod - def _parse(cls, input): - createNode = lambda v, pos: StringLiteralNode.withValue(pos, v[1:len(v)-1]) - return Parser.terminalParser(TokenType.STRING, createNode)(input) \ No newline at end of file + def _getTokenType(cls): + return TokenType.STRING \ No newline at end of file