Skip to content
MichaΕ‚ Dul edited this page May 23, 2023 · 1 revision
t_TYPE = r"πŸ”’|⏺️|πŸ†’|πŸ” "
t_LEFTARROW = r"<"
t_RIGHTARROW = r">"

t_FLOAT = r"(\+|-)?\d+\.\d+"
t_INT = r"(\+|-)?\d+"
t_BOOLEAN = r"βœ…|❌"
t_STRING = r"\".*\"|✏️\β€œ.*\”"
t_NONE = r"🌌"

t_IDENTIFIER = r"[a-zA-Z_][a-zA-Z0-9_]*"

t_CLASS = r"πŸ›οΈ"
t_INHERITS = r"πŸ‘¨β€πŸ‘¦"
t_SELF = r"πŸ€—"
t_CONSTRUCTOR = r"πŸ—οΈ"

t_FUNCTION = r"🍺"
t_RETURNARROW = r"->"

t_LBRACE = r"\{"
t_RBRACE = r"\}"
t_LPAREN = r"\("
t_RPAREN = r"\)"
t_LBRACKET = r"\["
t_RBRACKET = r"\]"

t_COLON = r":"
t_COMMA = r","
t_DOT = r"\."

# assignment operators
t_ASSIGN = r"="
t_PLUSASSIGN = r"\+="
t_MINUSASSIGN = r"-="
t_TIMESASSIGN = r"\*="
t_DIVIDEASSIGN = r"/="
t_MODULOASSIGN = r"%="
t_POWERASSIGN = r"\^="
t_FLOORASSIGN = r"//="

# arithmetic operators
t_PLUS = r"\+"
t_MINUS = r"-"
t_TIMES = r"\*"
t_DIVIDE = r"/"
t_MODULO = r"%"
t_POWER = r"\^"
t_FLOOR = r"//"

# comparison operators
t_LESS = r"🐜"
t_LESSEQUAL = r"πŸœβš–οΈ"
t_GREATER = r"🐘"
t_GREATEREQUAL = r"πŸ˜βš–οΈ"
t_EQUAL = r"βš–οΈ"

# logical operators
t_AND = r"and"
t_OR = r"or"
t_NOT = r"not"

# data structures
t_LIST = r"🐍"
t_TUPLE = r"🌼"
t_DICT = r"πŸ—ΊοΈ"
t_SET = r"πŸ—‘οΈ"

# if and match
t_TREE = r"🌲"
t_LEAF = r"πŸƒ"
t_FALLENLEAF = r"πŸ‚"

# loops
t_LOOP = r"πŸ”"

# flow control
t_BREAK = r"πŸ›‘"
t_CONTINUE = r"🚦"
t_RETURN = r"🦞"
t_PASS = r"πŸ¦₯"

# importing
t_IMPORT = r"🚒"
t_FROM = r"🏝️"
t_AS = r"🀿"

# aliases
t_PRINT = r"πŸ–¨οΈ"

t_NEWLINE = r'\n'

# comments
t_MULTILINECOMMENT = r"πŸ’¬β¬‡οΈ(.|\n)*?πŸ’¬β¬†οΈ\n"
t_ONELINECOMMENT = r"πŸ’¬.*\n"
Clone this wiki locally