summary refs log tree commit diff
path: root/gen/ANFLexer.py
blob: 2e8b0743666e8d57dec7da11cd7cd0e172196386 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# Generated from /home/erik/PycharmProjects/pythonProject/grammar/ANF.g4 by ANTLR 4.13.1
from antlr4 import *
from io import StringIO
import sys
if sys.version_info[1] > 5:
    from typing import TextIO
else:
    from typing.io import TextIO


def serializedATN():
    return [
        4,0,28,167,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,
        2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,
        13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,
        19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,
        26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,1,0,1,0,1,0,1,0,1,0,1,1,1,
        1,1,1,1,1,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,
        7,1,8,1,8,1,9,1,9,1,10,1,10,1,10,1,11,1,11,1,11,1,12,1,12,1,12,1,
        13,1,13,1,13,1,14,1,14,1,14,1,15,1,15,1,15,1,16,1,16,1,17,1,17,1,
        18,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,
        22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1,24,5,24,136,
        8,24,10,24,12,24,139,9,24,1,25,4,25,142,8,25,11,25,12,25,143,1,26,
        1,26,1,26,1,26,5,26,150,8,26,10,26,12,26,153,9,26,1,26,1,26,1,27,
        1,27,1,28,1,28,1,29,4,29,162,8,29,11,29,12,29,163,1,29,1,29,0,0,
        30,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,
        13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,
        24,49,25,51,26,53,27,55,0,57,0,59,28,1,0,3,2,0,34,34,94,94,2,0,65,
        90,97,122,3,0,9,10,13,13,32,32,170,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,
        0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,
        0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,
        0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,
        0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,
        0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,59,1,0,
        0,0,1,61,1,0,0,0,3,66,1,0,0,0,5,72,1,0,0,0,7,74,1,0,0,0,9,76,1,0,
        0,0,11,78,1,0,0,0,13,80,1,0,0,0,15,82,1,0,0,0,17,84,1,0,0,0,19,86,
        1,0,0,0,21,88,1,0,0,0,23,91,1,0,0,0,25,94,1,0,0,0,27,97,1,0,0,0,
        29,100,1,0,0,0,31,103,1,0,0,0,33,106,1,0,0,0,35,108,1,0,0,0,37,110,
        1,0,0,0,39,114,1,0,0,0,41,116,1,0,0,0,43,119,1,0,0,0,45,122,1,0,
        0,0,47,127,1,0,0,0,49,132,1,0,0,0,51,141,1,0,0,0,53,145,1,0,0,0,
        55,156,1,0,0,0,57,158,1,0,0,0,59,161,1,0,0,0,61,62,5,116,0,0,62,
        63,5,114,0,0,63,64,5,117,0,0,64,65,5,101,0,0,65,2,1,0,0,0,66,67,
        5,102,0,0,67,68,5,97,0,0,68,69,5,108,0,0,69,70,5,115,0,0,70,71,5,
        101,0,0,71,4,1,0,0,0,72,73,5,40,0,0,73,6,1,0,0,0,74,75,5,43,0,0,
        75,8,1,0,0,0,76,77,5,41,0,0,77,10,1,0,0,0,78,79,5,45,0,0,79,12,1,
        0,0,0,80,81,5,42,0,0,81,14,1,0,0,0,82,83,5,47,0,0,83,16,1,0,0,0,
        84,85,5,62,0,0,85,18,1,0,0,0,86,87,5,60,0,0,87,20,1,0,0,0,88,89,
        5,61,0,0,89,90,5,61,0,0,90,22,1,0,0,0,91,92,5,60,0,0,92,93,5,60,
        0,0,93,24,1,0,0,0,94,95,5,62,0,0,95,96,5,62,0,0,96,26,1,0,0,0,97,
        98,5,38,0,0,98,99,5,38,0,0,99,28,1,0,0,0,100,101,5,124,0,0,101,102,
        5,124,0,0,102,30,1,0,0,0,103,104,5,94,0,0,104,105,5,94,0,0,105,32,
        1,0,0,0,106,107,5,44,0,0,107,34,1,0,0,0,108,109,5,58,0,0,109,36,
        1,0,0,0,110,111,5,108,0,0,111,112,5,101,0,0,112,113,5,116,0,0,113,
        38,1,0,0,0,114,115,5,61,0,0,115,40,1,0,0,0,116,117,5,105,0,0,117,
        118,5,110,0,0,118,42,1,0,0,0,119,120,5,105,0,0,120,121,5,102,0,0,
        121,44,1,0,0,0,122,123,5,116,0,0,123,124,5,104,0,0,124,125,5,101,
        0,0,125,126,5,110,0,0,126,46,1,0,0,0,127,128,5,101,0,0,128,129,5,
        108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,48,1,0,0,0,132,137,
        3,55,27,0,133,136,3,55,27,0,134,136,3,57,28,0,135,133,1,0,0,0,135,
        134,1,0,0,0,136,139,1,0,0,0,137,135,1,0,0,0,137,138,1,0,0,0,138,
        50,1,0,0,0,139,137,1,0,0,0,140,142,3,57,28,0,141,140,1,0,0,0,142,
        143,1,0,0,0,143,141,1,0,0,0,143,144,1,0,0,0,144,52,1,0,0,0,145,151,
        5,34,0,0,146,150,7,0,0,0,147,148,5,92,0,0,148,150,9,0,0,0,149,146,
        1,0,0,0,149,147,1,0,0,0,150,153,1,0,0,0,151,149,1,0,0,0,151,152,
        1,0,0,0,152,154,1,0,0,0,153,151,1,0,0,0,154,155,5,34,0,0,155,54,
        1,0,0,0,156,157,7,1,0,0,157,56,1,0,0,0,158,159,2,48,57,0,159,58,
        1,0,0,0,160,162,7,2,0,0,161,160,1,0,0,0,162,163,1,0,0,0,163,161,
        1,0,0,0,163,164,1,0,0,0,164,165,1,0,0,0,165,166,6,29,0,0,166,60,
        1,0,0,0,7,0,135,137,143,149,151,163,1,6,0,0
    ]

class ANFLexer(Lexer):

    atn = ATNDeserializer().deserialize(serializedATN())

    decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ]

    T__0 = 1
    T__1 = 2
    T__2 = 3
    T__3 = 4
    T__4 = 5
    T__5 = 6
    T__6 = 7
    T__7 = 8
    T__8 = 9
    T__9 = 10
    T__10 = 11
    T__11 = 12
    T__12 = 13
    T__13 = 14
    T__14 = 15
    T__15 = 16
    T__16 = 17
    T__17 = 18
    T__18 = 19
    T__19 = 20
    T__20 = 21
    T__21 = 22
    T__22 = 23
    T__23 = 24
    IDENT = 25
    NUMBER = 26
    STRING = 27
    WS = 28

    channelNames = [ u"DEFAULT_TOKEN_CHANNEL", u"HIDDEN" ]

    modeNames = [ "DEFAULT_MODE" ]

    literalNames = [ "<INVALID>",
            "'true'", "'false'", "'('", "'+'", "')'", "'-'", "'*'", "'/'", 
            "'>'", "'<'", "'=='", "'<<'", "'>>'", "'&&'", "'||'", "'^^'", 
            "','", "':'", "'let'", "'='", "'in'", "'if'", "'then'", "'else'" ]

    symbolicNames = [ "<INVALID>",
            "IDENT", "NUMBER", "STRING", "WS" ]

    ruleNames = [ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", 
                  "T__7", "T__8", "T__9", "T__10", "T__11", "T__12", "T__13", 
                  "T__14", "T__15", "T__16", "T__17", "T__18", "T__19", 
                  "T__20", "T__21", "T__22", "T__23", "IDENT", "NUMBER", 
                  "STRING", "Letter", "Digit", "WS" ]

    grammarFileName = "ANF.g4"

    def __init__(self, input=None, output:TextIO = sys.stdout):
        super().__init__(input, output)
        self.checkVersion("4.13.1")
        self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache())
        self._actions = None
        self._predicates = None