# Generated from gramatica.g4 by ANTLR 4.7.2
from antlr4 import *
from io import StringIO
from typing.io import TextIO
import sys


def serializedATN():
    with StringIO() as buf:
        buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\2\17")
        buf.write("x\b\1\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7")
        buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16")
        buf.write("\t\16\3\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3")
        buf.write("\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3")
        buf.write("\4\3\4\3\4\3\4\3\4\3\4\3\4\5\4>\n\4\3\5\3\5\3\5\3\5\3")
        buf.write("\5\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\7\3\7")
        buf.write("\3\b\3\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3")
        buf.write("\n\3\n\3\n\3\n\3\13\6\13d\n\13\r\13\16\13e\3\f\6\fi\n")
        buf.write("\f\r\f\16\fj\3\r\6\rn\n\r\r\r\16\ro\3\16\6\16s\n\16\r")
        buf.write("\16\16\16t\3\16\3\16\2\2\17\3\3\5\4\7\5\t\6\13\7\r\b\17")
        buf.write("\t\21\n\23\13\25\f\27\r\31\16\33\17\3\2\6\3\2c|\4\2\f")
        buf.write("\f\17\17\3\2\62;\4\2\13\13\"\"\2|\2\3\3\2\2\2\2\5\3\2")
        buf.write("\2\2\2\7\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2")
        buf.write("\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2\2\2\25\3\2\2\2\2")
        buf.write("\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\3\35\3\2\2\2\5 ")
        buf.write("\3\2\2\2\7=\3\2\2\2\t?\3\2\2\2\13D\3\2\2\2\rO\3\2\2\2")
        buf.write("\17Q\3\2\2\2\21S\3\2\2\2\23Z\3\2\2\2\25c\3\2\2\2\27h\3")
        buf.write("\2\2\2\31m\3\2\2\2\33r\3\2\2\2\35\36\7/\2\2\36\37\7@\2")
        buf.write("\2\37\4\3\2\2\2 !\7h\2\2!\"\7w\2\2\"#\7p\2\2#$\7e\2\2")
        buf.write("$%\7k\2\2%&\7q\2\2&\'\7p\2\2\'(\7c\2\2()\7t\2\2)*\7k\2")
        buf.write("\2*+\7q\2\2+,\7u\2\2,\6\3\2\2\2-.\7d\2\2./\7k\2\2/\60")
        buf.write("\7d\2\2\60\61\7n\2\2\61\62\7k\2\2\62\63\7q\2\2\63\64\7")
        buf.write("v\2\2\64\65\7g\2\2\65\66\7e\2\2\66>\7c\2\2\678\7c\2\2")
        buf.write("89\7e\2\29:\7g\2\2:;\7t\2\2;<\7x\2\2<>\7q\2\2=-\3\2\2")
        buf.write("\2=\67\3\2\2\2>\b\3\2\2\2?@\7v\2\2@A\7k\2\2AB\7r\2\2B")
        buf.write("C\7q\2\2C\n\3\2\2\2DE\7e\2\2EF\7q\2\2FG\7t\2\2GH\7t\2")
        buf.write("\2HI\7g\2\2IJ\7f\2\2JK\7q\2\2KL\7t\2\2LM\7g\2\2MN\7u\2")
        buf.write("\2N\f\3\2\2\2OP\7}\2\2P\16\3\2\2\2QR\7\177\2\2R\20\3\2")
        buf.write("\2\2ST\7n\2\2TU\7k\2\2UV\7x\2\2VW\7t\2\2WX\7q\2\2XY\7")
        buf.write("u\2\2Y\22\3\2\2\2Z[\7t\2\2[\\\7g\2\2\\]\7v\2\2]^\7q\2")
        buf.write("\2^_\7t\2\2_`\7p\2\2`a\7c\2\2a\24\3\2\2\2bd\t\2\2\2cb")
        buf.write("\3\2\2\2de\3\2\2\2ec\3\2\2\2ef\3\2\2\2f\26\3\2\2\2gi\t")
        buf.write("\3\2\2hg\3\2\2\2ij\3\2\2\2jh\3\2\2\2jk\3\2\2\2k\30\3\2")
        buf.write("\2\2ln\t\4\2\2ml\3\2\2\2no\3\2\2\2om\3\2\2\2op\3\2\2\2")
        buf.write("p\32\3\2\2\2qs\t\5\2\2rq\3\2\2\2st\3\2\2\2tr\3\2\2\2t")
        buf.write("u\3\2\2\2uv\3\2\2\2vw\b\16\2\2w\34\3\2\2\2\b\2=ejot\3")
        buf.write("\2\3\2")
        return buf.getvalue()


class gramaticaLexer(Lexer):

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

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

    ZETA = 1
    FUNCIONARIOS = 2
    ESPACO = 3
    TIPO = 4
    CORREDORES = 5
    ABRE_CHAVE = 6
    FECHA_CHAVE = 7
    LIVROS = 8
    RETORNA = 9
    TYPE = 10
    QUEBRA_LINHA = 11
    NUMERO = 12
    SPACE = 13

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

    modeNames = [ "DEFAULT_MODE" ]

    literalNames = [ "<INVALID>",
            "'->'", "'funcionarios'", "'tipo'", "'corredores'", "'{'", "'}'", 
            "'livros'", "'retorna'" ]

    symbolicNames = [ "<INVALID>",
            "ZETA", "FUNCIONARIOS", "ESPACO", "TIPO", "CORREDORES", "ABRE_CHAVE", 
            "FECHA_CHAVE", "LIVROS", "RETORNA", "TYPE", "QUEBRA_LINHA", 
            "NUMERO", "SPACE" ]

    ruleNames = [ "ZETA", "FUNCIONARIOS", "ESPACO", "TIPO", "CORREDORES", 
                  "ABRE_CHAVE", "FECHA_CHAVE", "LIVROS", "RETORNA", "TYPE", 
                  "QUEBRA_LINHA", "NUMERO", "SPACE" ]

    grammarFileName = "gramatica.g4"

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


