Add new angle parentheses and rename BRACKET to CURLY
This commit is contained in:
@@ -13,8 +13,8 @@ class BlockNode(StatementNode):
|
||||
return node
|
||||
|
||||
return Parser.loop(
|
||||
Parser.terminalParser(TokenType.OPEN_BRACKET),
|
||||
Parser.doAssert(StatementNode.parse, f"statement or '{TokenType.CLOSE_BRACKET.key}'"),
|
||||
Parser.terminalParser(TokenType.CLOSE_BRACKET),
|
||||
Parser.terminalParser(TokenType.OPEN_CURLY),
|
||||
Parser.doAssert(StatementNode.parse, f"statement or '{TokenType.CLOSE_CURLY.key}'"),
|
||||
Parser.terminalParser(TokenType.CLOSE_CURLY),
|
||||
createNode=createNode,
|
||||
)(input)
|
||||
@@ -63,8 +63,8 @@ class ExtendNode(StatementNode):
|
||||
return node
|
||||
|
||||
return Parser.loop(
|
||||
Parser.terminalParser(TokenType.OPEN_BRACKET),
|
||||
Parser.doAssert(FunctionDefinitionNode.parse, f"method declaration or '{TokenType.CLOSE_BRACKET.key}'"),
|
||||
Parser.terminalParser(TokenType.CLOSE_BRACKET),
|
||||
Parser.terminalParser(TokenType.OPEN_CURLY),
|
||||
Parser.doAssert(FunctionDefinitionNode.parse, f"method declaration or '{TokenType.CLOSE_CURLY.key}'"),
|
||||
Parser.terminalParser(TokenType.CLOSE_CURLY),
|
||||
createNode=createNode
|
||||
)
|
||||
@@ -11,12 +11,14 @@ from smnp.token.type import TokenType
|
||||
|
||||
tokenizers = (
|
||||
# Characters
|
||||
defaultTokenizer(TokenType.OPEN_BRACKET),
|
||||
defaultTokenizer(TokenType.CLOSE_BRACKET),
|
||||
defaultTokenizer(TokenType.OPEN_CURLY),
|
||||
defaultTokenizer(TokenType.CLOSE_CURLY),
|
||||
defaultTokenizer(TokenType.OPEN_PAREN),
|
||||
defaultTokenizer(TokenType.CLOSE_PAREN),
|
||||
defaultTokenizer(TokenType.OPEN_SQUARE),
|
||||
defaultTokenizer(TokenType.CLOSE_SQUARE),
|
||||
defaultTokenizer(TokenType.CLOSE_PAREN),
|
||||
defaultTokenizer(TokenType.OPEN_ANGLE),
|
||||
defaultTokenizer(TokenType.CLOSE_ANGLE),
|
||||
defaultTokenizer(TokenType.ASTERISK),
|
||||
defaultTokenizer(TokenType.ASSIGN),
|
||||
defaultTokenizer(TokenType.COMMA),
|
||||
|
||||
@@ -2,30 +2,32 @@ from enum import Enum
|
||||
|
||||
|
||||
class TokenType(Enum):
|
||||
OPEN_CURLY = '{'
|
||||
CLOSE_CURLY = '}'
|
||||
OPEN_PAREN = '('
|
||||
CLOSE_PAREN = ')'
|
||||
ASTERISK = '*'
|
||||
STRING = 'string'
|
||||
IDENTIFIER = 'identifier'
|
||||
COMMA = ','
|
||||
INTEGER = 'integer'
|
||||
OPEN_BRACKET = '{'
|
||||
CLOSE_BRACKET = '}'
|
||||
ASSIGN = '='
|
||||
NOTE = 'note'
|
||||
COMMENT = 'comment'
|
||||
PERCENT = 'percent'
|
||||
MINUS = '-'
|
||||
FUNCTION = 'function'
|
||||
RETURN = 'return'
|
||||
DOT = '.'
|
||||
OPEN_SQUARE = '['
|
||||
CLOSE_SQUARE = ']'
|
||||
OPEN_ANGLE = '<'
|
||||
CLOSE_ANGLE = '>'
|
||||
ASTERISK = '*'
|
||||
ASSIGN = '='
|
||||
COMMA = ','
|
||||
MINUS = '-'
|
||||
DOT = '.'
|
||||
INTEGER = 'integer'
|
||||
STRING = 'string'
|
||||
NOTE = 'note'
|
||||
TYPE = 'type'
|
||||
FUNCTION = 'function'
|
||||
RETURN = 'return'
|
||||
EXTEND = 'extend'
|
||||
IMPORT = 'import'
|
||||
FROM = 'from'
|
||||
AS = 'as'
|
||||
IDENTIFIER = 'identifier'
|
||||
COMMENT = 'comment'
|
||||
PERCENT = 'percent'
|
||||
|
||||
@property
|
||||
def key(self):
|
||||
|
||||
Reference in New Issue
Block a user