Little code refactor
This commit is contained in:
@@ -55,10 +55,10 @@ def LiteralParser(input):
|
|||||||
|
|
||||||
return Parser.oneOf(
|
return Parser.oneOf(
|
||||||
integerParser,
|
integerParser,
|
||||||
Parser.terminalParser(TokenType.STRING, lambda val, pos: StringLiteral.withValue(val, pos)),
|
Parser.terminalParser(TokenType.STRING, createNode=StringLiteral.withValue),
|
||||||
Parser.terminalParser(TokenType.NOTE, lambda val, pos: NoteLiteral.withValue(val, pos)),
|
Parser.terminalParser(TokenType.NOTE, createNode=NoteLiteral.withValue),
|
||||||
Parser.terminalParser(TokenType.BOOL, lambda val, pos: BoolLiteral.withValue(val, pos)),
|
Parser.terminalParser(TokenType.BOOL, createNode=BoolLiteral.withValue),
|
||||||
Parser.terminalParser(TokenType.TYPE, lambda val, pos: TypeLiteral.withValue(val, pos)),
|
Parser.terminalParser(TokenType.TYPE, createNode=TypeLiteral.withValue),
|
||||||
)(input)
|
)(input)
|
||||||
|
|
||||||
|
|
||||||
@@ -68,10 +68,6 @@ def AtomParser(input):
|
|||||||
|
|
||||||
parser = Parser.oneOf(
|
parser = Parser.oneOf(
|
||||||
LiteralParser,
|
LiteralParser,
|
||||||
Parser.terminalParser(TokenType.STRING, lambda val, pos: StringLiteral.withValue(val, pos)),
|
|
||||||
Parser.terminalParser(TokenType.NOTE, lambda val, pos: NoteLiteral.withValue(val, pos)),
|
|
||||||
Parser.terminalParser(TokenType.BOOL, lambda val, pos: BoolLiteral.withValue(val, pos)),
|
|
||||||
Parser.terminalParser(TokenType.TYPE, lambda val, pos: TypeLiteral.withValue(val, pos)),
|
|
||||||
IdentifierParser,
|
IdentifierParser,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ def FactorParser(input):
|
|||||||
|
|
||||||
loopFactor = Parser.allOf(
|
loopFactor = Parser.allOf(
|
||||||
powerFactor,
|
powerFactor,
|
||||||
Parser.terminalParser(TokenType.DASH, lambda val, pos: Operator.withValue(val, pos)),
|
Parser.terminalParser(TokenType.DASH, createNode=Operator.withValue),
|
||||||
MaxPrecedenceExpressionParser, #TODO statement here
|
MaxPrecedenceExpressionParser, #TODO statement here
|
||||||
createNode=lambda chain, dash, stmt: Loop.withValues(chain, dash, stmt)
|
createNode=Loop.withValues
|
||||||
)
|
)
|
||||||
|
|
||||||
return Parser.oneOf(
|
return Parser.oneOf(
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ class Assignment(BinaryOperator):
|
|||||||
|
|
||||||
|
|
||||||
def IdentifierParser(input):
|
def IdentifierParser(input):
|
||||||
identifierLiteralParser = Parser.terminalParser(TokenType.IDENTIFIER, createNode=lambda val, pos: Identifier.withValue(val, pos))
|
identifierLiteralParser = Parser.terminalParser(TokenType.IDENTIFIER, createNode=Identifier.withValue)
|
||||||
|
|
||||||
functionCallParser = Parser.allOf(
|
functionCallParser = Parser.allOf(
|
||||||
identifierLiteralParser,
|
identifierLiteralParser,
|
||||||
@@ -60,7 +60,7 @@ def IdentifierParser(input):
|
|||||||
|
|
||||||
assignmentParser = Parser.allOf(
|
assignmentParser = Parser.allOf(
|
||||||
identifierLiteralParser,
|
identifierLiteralParser,
|
||||||
Parser.terminalParser(TokenType.ASSIGN, lambda val, pos: Operator.withValue(val, pos)),
|
Parser.terminalParser(TokenType.ASSIGN, createNode=Operator.withValue),
|
||||||
MaxPrecedenceExpressionParser,
|
MaxPrecedenceExpressionParser,
|
||||||
createNode=lambda identifier, assign, expr: Assignment.withValues(identifier, assign, expr)
|
createNode=lambda identifier, assign, expr: Assignment.withValues(identifier, assign, expr)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user