Skip to content

ninjaro/quasipiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuasiPiler Logo LightQuasiPiler Logo Dark

— the Hunchback Dragon of Compilers

version Checks Deploy codecov Codacy Badge license

“A one-eyed transpiler is much more incomplete than a blind transpiler, for he knows what it is that’s lacking.”
— Victor-Marie of Gugle Inc. (1998–2017)

This repo is my sanctuary under license — it begs mercy, not stars. I’ll bell when (or if) it works. “Documentation and Contributing” is a friendly suggestion, not a Martin Luther pinboard.

Setup and Installation

Requirements

  • C++20 compiler
  • cxxopts: for command line options
  • GTest: for unit tests
  • lcov: for code coverage reports
  • doxygen and graphviz: for generating documentation

Building the Application

  1. Build with CMake in Release mode:
    $ cmake -DBUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -B build -S .
    $ cmake --build build
  2. Run the Application:
    $ qpiler [options] <inputfile>
    • <inputfile>: path to your QuasiCode file

QuasiLang

See QuasiLang Syntax Guide for the full syntax guide.

See include and src for implementation, and check tests for more examples.


See include/frontend and src/frontend for implementation, and check tests/frontend for more examples.

Documentation and Contributing

To build and run tests, enable debug mode, or generate coverage reports:

  1. Build with Debug and Coverage:
    $ cmake -B build CMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON -DCOVERAGE=ON
  2. Generate Coverage Report and HTML:
    $ cmake --build build --target coverage

For detailed documentation, see the Documentation and for the latest coverage report, see Coverage.

Security Policy

Please report any security issues using GitHub's private vulnerability reporting or by emailing yaroslav.riabtsev@rwth-aachen.de. See the security policy for full details.

License

This project is open-source and available under the MIT License.

About

the Hunchback Dragon of Compilers

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors