Skip to content
This repository has been archived by the owner on Jun 29, 2024. It is now read-only.

Fil-Language/Filc-old

Repository files navigation

Filc

License: MIT Version

Tests Codacy Badge codecov

Fil language compiler (version in VERSION)

Have used figlet -f slant "Filc" for the version message.

Grammar

Refer to the diagram for used grammar.

External dependencies

All the external dependencies are listed in DEPENDENCIES.md

Building and Testing

If you want to build and test the compiler, please follow the steps below.

Building

# Configure CMake in build directory
cmake -B ./build -DCMAKE_BUILD_TYPE=Release
# Build
cmake --build ./build --target filc
# Install
sudo cmake --install ./build

Testing

# Configure CMake in build directory
cmake -B ./build -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DCODE_COVERAGE=ON
# Build
cmake --build ./build
# Run tests
cd build && ctest
# Get coverage
cd - && ./bin/coverage.sh

Quick note

If during compilation you got a warning with a dev code, please open an issue on GitHub with the warning message and your code.

Dev warning are show like this :

DEV WARNING[<code>]: <message>
      --> <filename>
<line> | <code>
       |   ^
Dev code Meaning File
2 Lexer found a character that is not regular src/lib/ast/CharacterLiteral.cpp
3 A function that should not be called has been called Several files (refer to error message)

These codes are for events that should not happen, but if they do, it's better to fix them.

Acknowledgements

Thanks to JetBrains for helping me develop this project by offering me an open source license

JetBrains Logo (Main) logo