Scripting language written in C.
This is a project I'm working on to understand how programming languages working, and sharpen my C skills.
The end goal is to create a functional, interpreted programming language.
Based on the tutorial at craftinginterpreters.com.
CDash link: https://my.cdash.org/index.php?project=Clipt
- Token
- Lexer
- Interpreter
- REPL
- Error handling
- Run all
cmake,cpackandctestrelated commands from thebuilddirectory
Options can be enabled and disabled when configuring, using the -D flag
cmake -DEXAMPLE=ONThe avaiable options are listed below, in this format -> OPTIONNAME (DEFAULT VALUE): DESCRIPTION
-
BUILD_INTERPRETER(ON): Build the interpreter -
ENABLE_ASAN(OFF): Enable compilation of address sanitizer -
ENABLE_CLANG_TIDY(OFF): Enable clang-tidy checks, requiresclang-tidyon your path -
CLANG_TIDY_WARNINGS_AS_ERRORS(OFF): Take clang-tidy warnings as errors -
PACKAGE_SETUPS(OFF): PackageNSIS,InnosetupandIFWinstallers, when usingcpack -
PACKAGE_DISTROS(OFF): GenerateRPMandDEBpackages, when usingcpack
- Clone this repository and enter the directory
git clone https://github.com/Ogoruwa/clipt.git
cd clipt- Configure the project using cmake
mkdir build
cd build
cmake ..- Build the project. Files wil be generated under
binandlibfolders.
cmake --build . --target all -- ctest cpackFollow the steps below to generate a ctest script for cmake workflows and cdash uploads
-
Change to the project's directory
-
Configure the project, with the
GENERATE_CTEST_SCRIPToption enabled. This generates the script asCTestScript.cmakein the build directory. -
You can then run the script
ctest -S build/CTestScript.cmake -DCDASH_MODEL=<YOUR_DASHBOARD_MODEL>
Where <YOUR_DASHBOARD_MODEL> is either Continuous (for CI-CD), Experimental (for debugging), Nightly (for daily builds)
CDASH_TOKEN: The token to use for authentication
CTEST_UPDATE(OFF): Whether to run the update step, in order words, retrieve the latest source code