Open Gashmob opened 2 years ago
The generated snippet is correct.
There are a lot of dependencies that could be out of date (cmake, java, g++, make, etc), any of which could cause problems. Your CMakeList.txt doesn't look up to date. Make sure you copy the cmake directory and contents to your code.
ken@DESKTOP-DL44R7B:~/grammars-v4/antlr/antlr4/Generated/build/antlr4cpp_generated_src/ANTLRv4Parser$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal
ken@DESKTOP-DL44R7B:~/grammars-v4/antlr/antlr4/Generated/build/antlr4cpp_generated_src/ANTLRv4Parser$ cmake --version
cmake version 3.16.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
ken@DESKTOP-DL44R7B:~/grammars-v4/antlr/antlr4/Generated$ make --version
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
ken@DESKTOP-DL44R7B:~/grammars-v4/antlr/antlr4/Generated/build/antlr4cpp_generated_src/ANTLRv4Parser$ g++ --version
g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ken@DESKTOP-DL44R7B:~/grammars-v4/antlr/antlr4/Generated$ java --version
openjdk 11.0.16 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
ken@DESKTOP-DL44R7B:~/grammars-v4/antlr/antlr4/Generated$ cat CMakeLists.txt
# Template generated code from trgen 0.17.0
cmake_minimum_required (VERSION 3.14)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
set(CMAKE_CXX_STANDARD 17)
set(ANTLR_EXECUTABLE "/tmp/antlr4-4.11.1-complete.jar")
set(Java_JAVA_EXECUTABLE "java")
set(ANTLR4_TAG v4.11.1)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
#SET(GCC_COVERAGE_COMPILE_FLAGS "-g -pg")
#SET(GCC_COVERAGE_LINK_FLAGS "-g -pg")
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}")
#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}")
add_definitions(-DANTLR4CPP_STATIC)
include(ExternalAntlr4Cpp)
include_directories(${ANTLR4_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR}/)
find_package(ANTLR REQUIRED)
antlr_target(
ANTLRv4Lexer
ANTLRv4Lexer.g4
LEXER
)
antlr_target(
ANTLRv4Parser
ANTLRv4Parser.g4
PARSER
DEPENDS_ANTLR ANTLRv4Lexer
COMPILE_FLAGS -lib ${ANTLR_ANTLRv4Lexer_OUTPUT_DIR}
)
include_directories(${ANTLR_ANTLRv4Lexer_OUTPUT_DIR})
include_directories(${ANTLR_ANTLRv4Parser_OUTPUT_DIR})
add_executable(Test
Program.cpp
ErrorListener.cpp
ErrorListener.h
CaseChangingCharStream.cpp
CaseChangingCharStream.h
/home/ken/grammars-v4/antlr/antlr4/Cpp/LexerAdaptor.cpp
${ANTLR_ANTLRv4Lexer_CXX_OUTPUTS}
${ANTLR_ANTLRv4Parser_CXX_OUTPUTS}
)
target_link_libraries(Test antlr4_static Threads::Threads)
So, I've followed the instructions. There are the versions of each programm :
❯ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: Linux Mint 20.3
Release: 20.3
Codename: una
❯ cmake --version
cmake version 3.16.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
❯ make --version
GNU Make 4.2.1
Construit pour x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>
Ceci est un logiciel libre : vous êtes autorisé à le modifier et à la redistribuer.
Il ne comporte AUCUNE GARANTIE, dans la mesure de ce que permet la loi.
❯ g++ --version
g++ (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
❯ java --version
openjdk 17.0.4 2022-07-19
OpenJDK Runtime Environment (build 17.0.4+8-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.4+8-Ubuntu-120.04, mixed mode, sharing)
This is my new cmake
dir :
❯ ls cmake
antlr4-generator.cmake.in antlr4-runtime.cmake.in ExternalAntlr4Cpp.cmake FindANTLR.cmake
This is my new CMakeLists.txt
:
project(Filc)
# minimum required CMAKE version
cmake_minimum_required(VERSION 3.7 FATAL_ERROR)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# compiler must be 17
set(CMAKE_CXX_STANDARD 17)
# required if linking to static library
add_definitions(-DANTLR4CPP_STATIC)
# using /MD flag for antlr4_runtime (for Visual C++ compilers only)
set(ANTLR4_WITH_STATIC_CRT OFF)
# Specify the version of the antlr4 library needed for this project.
# By default the latest version of antlr4 will be used. You can specify a
# specific, stable version by setting a repository tag value or a link
# to a zip file containing the libary source.
set(ANTLR4_TAG 4.11.1)
set(ANTLR4_ZIP_REPOSITORY https://github.com/antlr/antlr4/archive/refs/tags/4.11.1.zip)
# add external build for antlrcpp
include(ExternalAntlr4Cpp)
# add antlr4cpp artifacts to project environment
include_directories(${ANTLR4_INCLUDE_DIRS})
# set variable pointing to the antlr tool that supports C++
# this is not required if the jar file can be found under PATH environment
set(ANTLR_EXECUTABLE ${PROJECT_SOURCE_DIR}/bin/antlr-4.11.1-complete.jar)
# add macros to generate ANTLR Cpp code from grammar
find_package(ANTLR REQUIRED)
# Call macro to add lexer and grammar to your build dependencies.
antlr_target(Lexer ${PROJECT_SOURCE_DIR}/src/antlr/FilLexer.g4 LEXER
PACKAGE antlrcppfil)
antlr_target(Parser ${PROJECT_SOURCE_DIR}/src/antlr/FilParser.g4 PARSER
PACKAGE antlrcppfil
DEPENDS_ANTLR Lexer
COMPILE_FLAGS -lib ${ANTLR_Lexer_OUTPUT_DIR})
# include generated files in project environment
include_directories(${ANTLR_Lexer_OUTPUT_DIR})
include_directories(${ANTLR_Parser_OUTPUT_DIR})
include_directories(
src
src/utils
)
# add generated grammar to binary target
add_executable(filc
src/main.cpp
src/utils/cxxopts.hpp
${ANTLR_Lexer_CXX_OUTPUTS}
${ANTLR_Parser_CXX_OUTPUTS})
target_link_libraries(filc antlr4_static)
target_compile_options(filc PUBLIC -O3)
install(TARGETS filc DESTINATION bin)
And this is the result of make
:
❯ make
Scanning dependencies of target antlr4_runtime
[ 6%] Creating directories for 'antlr4_runtime'
[ 13%] Performing download step (download, verify and extract) for 'antlr4_runtime'
-- Downloading...
dst='/home/kevin/DATA/Programmation/FIL/Filc/build/4.11.1.zip'
timeout='none'
-- Using src='https://github.com/antlr/antlr4/archive/refs/tags/4.11.1.zip'
-- Downloading... done
-- extracting...
src='/home/kevin/DATA/Programmation/FIL/Filc/build/4.11.1.zip'
dst='/home/kevin/DATA/Programmation/FIL/Filc/build/antlr4_runtime/src/antlr4_runtime'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 20%] No patch step for 'antlr4_runtime'
[ 26%] No update step for 'antlr4_runtime'
[ 33%] Performing configure step for 'antlr4_runtime'
loading initial cache file /home/kevin/DATA/Programmation/FIL/Filc/build/antlr4_runtime/tmp/antlr4_runtime-cache-.cmake
-- Building without demo. To enable demo build use: -DWITH_DEMO=True
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Python: /usr/bin/python3.8 (found version "3.8.10") found components: Interpreter
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kevin/DATA/Programmation/FIL/Filc/build/antlr4_runtime/src/antlr4_runtime/runtime/Cpp
[ 40%] No build step for 'antlr4_runtime'
[ 46%] No install step for 'antlr4_runtime'
[ 53%] Completed 'antlr4_runtime'
[ 53%] Built target antlr4_runtime
Scanning dependencies of target antlr4_runtime-build_static
[ 60%] Performing build_static step for 'antlr4_runtime'
Scanning dependencies of target antlr4_static
[ 0%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/ANTLRErrorListener.cpp.o
[ 0%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/ANTLRErrorStrategy.cpp.o
[ 2%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/ANTLRFileStream.cpp.o
[ 2%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/ANTLRInputStream.cpp.o
[ 4%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/BailErrorStrategy.cpp.o
[ 4%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/BaseErrorListener.cpp.o
[ 4%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/BufferedTokenStream.cpp.o
[ 6%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/CharStream.cpp.o
[ 6%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/CommonToken.cpp.o
[ 6%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/CommonTokenFactory.cpp.o
[ 8%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/CommonTokenStream.cpp.o
[ 8%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/ConsoleErrorListener.cpp.o
[ 8%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/DefaultErrorStrategy.cpp.o
[ 10%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/DiagnosticErrorListener.cpp.o
[ 10%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/Exceptions.cpp.o
[ 10%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/FailedPredicateException.cpp.o
[ 12%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/InputMismatchException.cpp.o
[ 12%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/IntStream.cpp.o
[ 12%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/InterpreterRuleContext.cpp.o
[ 14%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/Lexer.cpp.o
[ 14%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/LexerInterpreter.cpp.o
[ 14%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/LexerNoViableAltException.cpp.o
[ 16%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/ListTokenSource.cpp.o
[ 16%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/NoViableAltException.cpp.o
[ 18%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/Parser.cpp.o
[ 18%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/ParserInterpreter.cpp.o
[ 18%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/ParserRuleContext.cpp.o
[ 20%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/ProxyErrorListener.cpp.o
[ 20%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/RecognitionException.cpp.o
[ 20%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/Recognizer.cpp.o
[ 22%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/RuleContext.cpp.o
[ 22%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/RuleContextWithAltNum.cpp.o
[ 22%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/RuntimeMetaData.cpp.o
[ 25%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/Token.cpp.o
[ 25%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/TokenSource.cpp.o
[ 25%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/TokenStream.cpp.o
[ 27%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/TokenStreamRewriter.cpp.o
[ 27%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/UnbufferedCharStream.cpp.o
[ 27%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/UnbufferedTokenStream.cpp.o
[ 29%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/Vocabulary.cpp.o
[ 29%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/WritableToken.cpp.o
[ 31%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ATN.cpp.o
[ 31%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ATNConfig.cpp.o
[ 31%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ATNConfigSet.cpp.o
[ 33%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ATNDeserializationOptions.cpp.o
[ 33%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ATNDeserializer.cpp.o
[ 33%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ATNSimulator.cpp.o
[ 35%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ATNState.cpp.o
[ 35%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ATNStateType.cpp.o
[ 35%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ActionTransition.cpp.o
[ 37%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/AmbiguityInfo.cpp.o
[ 37%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ArrayPredictionContext.cpp.o
[ 37%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/AtomTransition.cpp.o
[ 39%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ContextSensitivityInfo.cpp.o
[ 39%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/DecisionEventInfo.cpp.o
[ 39%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/DecisionInfo.cpp.o
[ 41%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/DecisionState.cpp.o
[ 41%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/EpsilonTransition.cpp.o
[ 43%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ErrorInfo.cpp.o
[ 43%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LL1Analyzer.cpp.o
[ 43%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerATNConfig.cpp.o
[ 45%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerATNSimulator.cpp.o
[ 45%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerAction.cpp.o
[ 45%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerActionExecutor.cpp.o
[ 47%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerChannelAction.cpp.o
[ 47%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerCustomAction.cpp.o
[ 47%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerIndexedCustomAction.cpp.o
[ 50%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerModeAction.cpp.o
[ 50%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerMoreAction.cpp.o
[ 50%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerPopModeAction.cpp.o
[ 52%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerPushModeAction.cpp.o
[ 52%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerSkipAction.cpp.o
[ 52%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LexerTypeAction.cpp.o
[ 54%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/LookaheadEventInfo.cpp.o
[ 54%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/NotSetTransition.cpp.o
[ 56%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/OrderedATNConfigSet.cpp.o
[ 56%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ParseInfo.cpp.o
[ 56%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ParserATNSimulator.cpp.o
[ 58%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/PrecedencePredicateTransition.cpp.o
[ 58%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/PredicateEvalInfo.cpp.o
[ 58%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/PredicateTransition.cpp.o
[ 60%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/PredictionContext.cpp.o
[ 60%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/PredictionContextCache.cpp.o
[ 60%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/PredictionContextMergeCache.cpp.o
[ 62%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/PredictionMode.cpp.o
[ 62%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/ProfilingATNSimulator.cpp.o
[ 62%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/RangeTransition.cpp.o
[ 64%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/RuleTransition.cpp.o
[ 64%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/SemanticContext.cpp.o
[ 64%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/SetTransition.cpp.o
[ 66%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/SingletonPredictionContext.cpp.o
[ 66%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/StarLoopbackState.cpp.o
[ 66%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/Transition.cpp.o
[ 68%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/TransitionType.cpp.o
[ 68%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/atn/WildcardTransition.cpp.o
[ 70%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/dfa/DFA.cpp.o
[ 70%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/dfa/DFASerializer.cpp.o
[ 70%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/dfa/DFAState.cpp.o
[ 72%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/dfa/LexerDFASerializer.cpp.o
[ 72%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/internal/Synchronization.cpp.o
[ 72%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/misc/InterpreterDataReader.cpp.o
[ 75%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/misc/Interval.cpp.o
[ 75%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/misc/IntervalSet.cpp.o
[ 75%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/misc/MurmurHash.cpp.o
[ 77%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/misc/Predicate.cpp.o
[ 77%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/support/Any.cpp.o
[ 77%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/support/Arrays.cpp.o
[ 79%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/support/CPPUtils.cpp.o
[ 79%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/support/StringUtils.cpp.o
[ 79%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/support/Utf8.cpp.o
[ 81%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/ErrorNodeImpl.cpp.o
[ 81%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/IterativeParseTreeWalker.cpp.o
[ 83%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/ParseTree.cpp.o
[ 83%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/ParseTreeListener.cpp.o
[ 83%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/ParseTreeVisitor.cpp.o
[ 85%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/ParseTreeWalker.cpp.o
[ 85%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/TerminalNodeImpl.cpp.o
[ 85%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/Trees.cpp.o
[ 87%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/pattern/Chunk.cpp.o
[ 87%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/pattern/ParseTreeMatch.cpp.o
[ 87%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/pattern/ParseTreePattern.cpp.o
[ 89%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/pattern/ParseTreePatternMatcher.cpp.o
[ 89%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/pattern/RuleTagToken.cpp.o
[ 89%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/pattern/TagChunk.cpp.o
[ 91%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/pattern/TextChunk.cpp.o
[ 91%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/pattern/TokenTagToken.cpp.o
[ 91%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPath.cpp.o
[ 93%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPathElement.cpp.o
[ 93%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPathLexer.cpp.o
[ 95%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPathLexerErrorListener.cpp.o
[ 95%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPathRuleAnywhereElement.cpp.o
[ 95%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPathRuleElement.cpp.o
[ 97%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPathTokenAnywhereElement.cpp.o
[ 97%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPathTokenElement.cpp.o
[ 97%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPathWildcardAnywhereElement.cpp.o
[100%] Building CXX object runtime/CMakeFiles/antlr4_static.dir/src/tree/xpath/XPathWildcardElement.cpp.o
[100%] Linking CXX static library libantlr4-runtime.a
[100%] Built target antlr4_static
[ 60%] Built target antlr4_runtime-build_static
[ 66%] Building Lexer with ANTLR 4.11.1
[ 73%] Building Parser with ANTLR 4.11.1
Scanning dependencies of target filc
[ 80%] Building CXX object CMakeFiles/filc.dir/src/main.cpp.o
[ 86%] Building CXX object CMakeFiles/filc.dir/antlr4cpp_generated_src/FilLexer/FilLexer.cpp.o
[ 93%] Building CXX object CMakeFiles/filc.dir/antlr4cpp_generated_src/FilParser/FilParser.cpp.o
/home/kevin/DATA/Programmation/FIL/Filc/build/antlr4cpp_generated_src/FilParser/FilParser.cpp: In member function ‘antlrcppfil::FilParser::ExprContext* antlrcppfil::FilParser::expr(int)’:
/home/kevin/DATA/Programmation/FIL/Filc/build/antlr4cpp_generated_src/FilParser/FilParser.cpp:788:16: error: invalid use of member function ‘antlrcppfil::FilParser::ExceptionContext* antlrcppfil::FilParser::ExprContext::exception()’ (did you forget the ‘()’ ?)
788 | _localctx->exception = std::current_exception();
| ~~~~~~~~~~~^~~~~~~~~
| ()
/home/kevin/DATA/Programmation/FIL/Filc/build/antlr4cpp_generated_src/FilParser/FilParser.cpp:789:43: error: invalid use of non-static member function ‘antlrcppfil::FilParser::ExceptionContext* antlrcppfil::FilParser::ExprContext::exception()’
789 | _errHandler->recover(this, _localctx->exception);
| ~~~~~~~~~~~^~~~~~~~~
/home/kevin/DATA/Programmation/FIL/Filc/build/antlr4cpp_generated_src/FilParser/FilParser.cpp:474:30: note: declared here
474 | FilParser::ExceptionContext* FilParser::ExprContext::exception() {
| ^~~~~~~~~
make[2]: *** [CMakeFiles/filc.dir/build.make:120 : CMakeFiles/filc.dir/antlr4cpp_generated_src/FilParser/FilParser.cpp.o] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:79 : CMakeFiles/filc.dir/all] Erreur 2
make: *** [Makefile:130 : all] Erreur 2
So, I don't why, but it still doesn't works
Ah. Check if you have a symbol called "exception" in your grammar somewhere. Looks like a "symbol conflict".
You're right, it's just that. I've already changed class, enum, null, but not think to exception. Thank you very much
This issue should be reopened because we need to add "exception" to the list of escaped keywords. @KvanTTT
Agree.
I create a compiler with antlr and llvm in c++. I've created the two
.g4
files and in my CMakeLists.txt I call the antlr jar to generate the lexer and the parser. Then I compile all my files with the same CMakeLists file and I got these errors :I looking in some tutorials and on stackoverflow why i've got these errors. But I didn't found any mention of that. And in tutorials code they have the same code as me, but it compile.
So I tried to update my antlr version to version 4.11.1 (originally I use 4.8) but it doesn't change anything.
For information, I use c++ 17, and this is my CMakeLists.txt :
I've asked on stackoverflow and be redirected here.