],
)
+FurExpressionStatement = collections.namedtuple(
+ 'FurExpressionStatement',
+ [
+ 'expression',
+ ],
+)
+
FurAssignmentStatement = collections.namedtuple(
'FurAssignmentStatement',
[
_expression_parser = _or_level_expression_parser
+def _expression_statement_parser(index, tokens):
+ failure = (False, index, None)
+
+ success, index, expression = _expression_parser(index, tokens)
+
+ if not success:
+ return failure
+
+ return (True, index, FurExpressionStatement(expression=expression))
+
def _assignment_statement_parser(index, tokens):
# TODO Use a FurSymbolExpression for the target? Maybe this is actually not a good idea
failure = (False, index, None)
return _or_parser(
_assignment_statement_parser,
- _expression_parser,
+ _expression_statement_parser,
)(index, tokens)
def _program_formatter(statement_list):