Example #1
0
def get_table(sql):
  stream = antlr3.ANTLRStringStream(sql)
  lexer = sqlLexer(stream)
  tokens = antlr3.CommonTokenStream(lexer)
  parser = sqlParser(tokens)
  r = parser.sqlstmt()
  tree = r.tree.toStringTree()
  if( r.tree.children[0].toString().lower() == "create"):
    return r.tree.children[2].toString()
  elif( r.tree.children[0].toString().lower() == "select"):
    return r.tree.children[3].toString()
  elif( r.tree.children[0].toString().lower() == "drop"):
    return r.tree.children[1].toString()
Example #2
0
def parse(text):
    lexer = sqlLexer(InputStream(text))
    lexer.removeErrorListeners()
    lexer.addErrorListener(ParserExceptionErrorListener())

    stream = CommonTokenStream(lexer)

    parser = sqlParser(stream)
    parser.removeErrorListeners()
    parser.addErrorListener(ParserExceptionErrorListener())

    # Este es el nombre de la produccion inicial de la gramatica definida en sql.g4
    tree = parser.parse()
Example #3
0
 def parse(self):
   stream = antlr3.ANTLRFileStream(self.sql)
   lexer = sqlLexer(stream)
   tokens = antlr3.CommonTokenStream(lexer)
   parser = sqlParser(tokens)
   r = parser.sqlstmt()
   self.tree = r.tree.toStringTree()
   if( r.tree.children[0].toString().lower() == "create"):
     self.table = r.tree.children[2].toString()
     self.command = "CREATE"
   elif( r.tree.children[0].toString().lower() == "select"):
     self.table = r.tree.children[3].toString()
     self.command = "SELECT"
   elif( r.tree.children[0].toString().lower() == "drop"):
     self.table = r.tree.children[1].toString()
     self.command = "DROP" 
Example #4
0
def parse(text, verbose, displayRegex):
    lexer = sqlLexer(InputStream(text))
    lexer.removeErrorListeners()
    lexer.addErrorListener(ParserExceptionErrorListener())

    stream = CommonTokenStream(lexer)

    parser = sqlParser(stream)
    parser.removeErrorListeners()
    parser.addErrorListener(ParserExceptionErrorListener())

    # Este es el nombre de la produccion inicial de la gramatica definida en sql.g4
    tree = parser.parse()

    interpreter = tokenInterpreter(verbose, displayRegex)
    walker = ParseTreeWalker()
    walker.walk(interpreter, tree)
Example #5
0
def parse(text):
    lexer = sqlLexer(InputStream(text))
    lexer.removeErrorListeners()
    lexer.addErrorListener(ParserExceptionErrorListener())

    stream = CommonTokenStream(lexer)

    parser = sqlParser(stream)
    parser.removeErrorListeners()
    parser.addErrorListener(ParserExceptionErrorListener())

    # Este es el nombre de la produccion inicial de la gramatica definida en sql.g4
    tree = parser.parse()

    # Luego de procesar, visitar el arbol construido con el custom listener
    # definido arriba
    sqlPL = sqlProcessingListener()
    walker = ParseTreeWalker()
    walker.walk(sqlPL, tree)
Example #6
0
def parse(text):
    lexer = sqlLexer(InputStream(text))
    lexer.removeErrorListeners()
    lexer.addErrorListener(ParserExceptionErrorListener())

    stream = CommonTokenStream(lexer)

    parser = sqlParser(stream)
    parser.removeErrorListeners()
    parser.addErrorListener(ParserExceptionErrorListener())

    # Este es el nombre de la produccion inicial de la gramatica definida en sql.g4
    tree = parser.parse()

    # Inicializacion de clase
    interpreter = tokenizationClass()
    # Llamada de clase nativa de py (ctrl + click sobe ella)
    walker = ParseTreeWalker()
    # inicializacion de funciones a base de lo que se va a trabajar
    walker.walk(interpreter, tree)