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()
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()
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"
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)
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)
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)