Create ast package

This commit is contained in:
Bartłomiej Pluta
2019-07-03 11:27:51 +02:00
parent 2823fd1896
commit c8ff5ce38f
38 changed files with 622 additions and 11 deletions

View File

@@ -0,0 +1,28 @@
def parseExpression(input, parent):
from smnp.ast.tools import combineParsers
from smnp.ast.parsers.access import parseAccess
from smnp.ast.parsers.colon import parseColon
from smnp.ast.parsers.identifier import parseIdentifierOrFunctionCallOrAssignment
from smnp.ast.parsers.integer import parseIntegerAndPercent
from smnp.ast.parsers.list import parseList
from smnp.ast.parsers.minus import parseMinus
from smnp.ast.parsers.note import parseNote
from smnp.ast.parsers.string import parseString
parsers = [
parseIntegerAndPercent,
parseMinus,
parseString,
parseNote,
parseList,
parseIdentifierOrFunctionCallOrAssignment,
parseAccess,
]
expr = combineParsers(parsers)(input, parent)
colon = parseColon(expr, input, parent)
if colon is not None:
return colon
return expr