This is a port of the antlr4-c3
library to C++
.
Please see the parent README.md for an explanation of the library and for examples.
Only CodeCompletionCore
was ported.
Supports cancellation for collectCandidates
method via timeout or flag.
C++ 20 standard to compile sources.
ANTLRv4 C++ Runtime to compile sources.
CMake 3.7 to build project.
ANTLRv4 Tool to build tests.
Google Test to build tests.
Currently, there are no other ways to adding C++ port as a dependency other than by copying and pasting the directory with project's source code into your own project.
Actual build steps are available at CMake GitHub Workflow.
ANTLRv4
Runtime and Tool as well as other dependecnies will be downloaded during CMake
configiration stage.
# Clone antlr4-c3 repository and enter C++ port directory
git clone git@github.com:mike-lischke/antlr4-c3.git
cd antlr4-c3/ports/cpp # Also a workspace directory for VSCode
# Create and enter the build directory
mkdir build && cd build
# Configure CMake build
# - ANTLR4C3_DEVELOPER should be enabled if you are going to run tests
# - CMAKE_BUILD_TYPE Asan and Tsan are supported too
cmake -DANTLR4C3_DEVELOPER=ON -DCMAKE_BUILD_TYPE=Release ..
# Build everything
make
# Running tests being at build directory
(make && cd test && ctest)
We recommend using VSCode with clangd extension as an IDE. There are some configuration files for launching tests in debug mode, clangd
configuration and more.