amykyta3 / speedy-antlr-tool

Generate an accelerator extension that makes your Antlr parser in Python super-fast!
BSD 3-Clause "New" or "Revised" License
29 stars 7 forks source link

tried java8parser but build fails #2

Closed jc01rho closed 4 years ago

jc01rho commented 4 years ago

i've used this grammar https://github.com/antlr/grammars-v4/tree/master/java/java8

Failing Builds.

and following tutorials, but build fails.

src/ASAI/grammar/cpp_src/sa_java8_translator.h:8:10: fatal error: Java8BaseVisitor.h: No such file or directory
 #include "Java8BaseVisitor.h"
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.

actually Java8BaseVisitor doesnt created when

java -jar ../../../antlr-4.8-complete.jar  -Dlanguage=Cpp -visitor -no-listener -o cpp_src Java8Lexer.g4
java -jar ../../../antlr-4.8-complete.jar  -Dlanguage=Cpp -visitor -no-listener -o cpp_src Java8Parser.g4

but creates Java8ParserBaseVisitor.h Java8ParserBaseVisitor.cpp

Manual code fix

so i've edited sa_java8_translator.h:8:10 from

include "Java8BaseVisitor.h"

to

include "Java8ParserBaseVisitor.h"

java8ParserBaseVisitor.h:15 from class java8ParserBaseVisitor : public java8BaseParserVisitor { to class java8ParserBaseVisitor : public java8ParserVisitor {

and then looks build and install completly well

but NameError: name 'sa_java8_cpp_parser' is not defined occurs.

(venv) [sparrow@localhost sparrowai]$ find . -name "*sa_java8_cpp_parser*"
./venv/lib/python3.6/site-packages/ASAI-1.0.0-py3.6-linux-x86_64.egg/ASAI/grammar/sa_java8_cpp_parser.cpython-36m-x86_64-linux-gnu.so
./venv/lib/python3.6/site-packages/ASAI-1.0.0-py3.6-linux-x86_64.egg/ASAI/grammar/sa_java8_cpp_parser.py
./venv/lib/python3.6/site-packages/ASAI-1.0.0-py3.6-linux-x86_64.egg/ASAI/grammar/__pycache__/sa_java8_cpp_parser.cpython-36.pyc
./venv/lib/python3.6/site-packages/ASAI-1.0.0-py3.6-linux-x86_64.egg/ASAI/grammar/cpp_src/sa_java8_cpp_parser.cpp
./src/ASAI/grammar/cpp_src/sa_java8_cpp_parser.cpp
./build/lib.linux-x86_64-3.6/ASAI/grammar/cpp_src/sa_java8_cpp_parser.cpp
./build/lib.linux-x86_64-3.6/ASAI/grammar/sa_java8_cpp_parser.cpython-36m-x86_64-linux-gnu.so
./build/temp.linux-x86_64-3.6/src/ASAI/grammar/cpp_src/sa_java8_cpp_parser.o
./build/lib/ASAI/grammar/cpp_src/sa_java8_cpp_parser.cpp

what should i do?

jc01rho commented 4 years ago

closed. some how fixed, i dont know :(

jc01rho commented 4 years ago

final benchmark with same logic as tutorial, java8 code.

py_elapsed: 27.375 ms cpp_elapsed: 2.520 ms Speedup: 10.86