summaryrefslogtreecommitdiff
path: root/consts.py
blob: 86a8eefc57c68fed031627cefdf56e1806e79bf3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class State:
    OPERATOR, NAME, *_ = range(100)


class TokenType:
    (
        LEFT_PARENTHESIS, RIGHT_PARENTHESIS, NUMBER, OPERATOR, SEMICOLON, COMMA, SYMBOL, *_
    ) = range(100)


UNARY = "unary"
FUNCALL = "funcall"
PRECEDENCE = {
    "+": 10,
    "-": 10,
    "*": 20,
    "^": 30,
    UNARY: 40,
}

OPERATOR_CHARS = "*+-/%&~^|#$.:<=>@"
NUMBER_CHARS = "0123456789"
SYMBOL_CHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!?"