Add support for assignments, function calls and pure identifiers

This commit is contained in:
Bartłomiej Pluta
2019-07-10 23:19:46 +02:00
parent 24b1012c7c
commit 18884eb5d9
10 changed files with 210 additions and 133 deletions

View File

@@ -1,28 +1,28 @@
from smnp.ast.node.expression import ExpressionNode
from smnp.ast.node.none import NoneNode
class AssignmentNode(ExpressionNode):
def __init__(self, pos):
super().__init__(pos)
self.children.append(NoneNode())
@property
def target(self):
return self[0]
@target.setter
def target(self, value):
self[0] = value
@property
def value(self):
return self[1]
@value.setter
def value(self, value):
self[1] = value
@classmethod
def _parse(cls, input):
raise RuntimeError("This class is not supposed to be automatically called")
# from smnp.ast.node.expression import ExpressionNode
# from smnp.ast.node.none import NoneNode
#
#
# class AssignmentNode(ExpressionNode):
# def __init__(self, pos):
# super().__init__(pos)
# self.children.append(NoneNode())
#
# @property
# def target(self):
# return self[0]
#
# @target.setter
# def target(self, value):
# self[0] = value
#
# @property
# def value(self):
# return self[1]
#
# @value.setter
# def value(self, value):
# self[1] = value
#
# @classmethod
# def _parse(cls, input):
# raise RuntimeError("This class is not supposed to be automatically called")