Nicholas-Baron / little-lang

A LLVM compiler for a small, functional language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

little-lang

A LLVM compiler for a small, functional language

Playlist documenting the concepts in this project

Tools Used

  • Bison
    • Used for checking the language's grammar
  • Clang-Format
    • Code formatting
  • Clang-Tidy
    • Code linting
  • CMake
    • Build system
  • Conan
    • Dependency management

Build Process

  1. Download this repository
  2. cmake -B build -GNinja -DCMAKE_BUILD_TYPE=Debug . 1
  3. cd build
  4. ninja or your preferred build command 1

Testing

Part of the build process is compiling tests. These are stored in the test directory and are mostly useful for checking internal behaviors.

Footnotes

  1. I recommend using ninja for its "parallel by default" approach. However, any build system cmake understands should be fine. Just change -GNinja to your preference. 2

About

A LLVM compiler for a small, functional language

License:MIT License


Languages

Language:C++ 87.8%Language:CMake 9.1%Language:Shell 1.7%Language:Yacc 1.3%