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