Skip to content

Releases: jose-rZM/LL1Checker

Release 5.0-LL1Checker

12 Oct 09:37

Choose a tag to compare

LL1Checker v5.0 Release 🎉


✨ What’s New

  • Caret-guided error windows: both the Boost.Spirit-powered lexer and parser now print multi-line snippets with a caret (^) pointing at the failing token.
  • Parse tree exports: pass --export-tree tree.dot to generate the full derivation tree in Graphviz format.
    Example: dot -Tpng tree.dot -o output.png
  • Numeric token IDs: symbol table, lexer, and parser now share compact numeric identifiers, reducing memory footprint on large grammars.

💻 Compatibility & Requirements

  • Linux: tested on modern distributions with:
    • C++20 toolchain
    • CMake ≥ 3.16
    • Boost headers (1.78+)
    • cxxopts (auto-fetched if missing)
  • Windows: prebuilt binaries are not included in this release.
    You can still build from source with the required dependencies.
    A Windows package may return in a future update.

📥 Installation & Usage

Build from source

cmake -S . -B build
cmake --build build
# or simply:
make
# static runtime:
make static  # adds -DLL1CHECKER_FORCE_STATIC_RUNTIME=ON

Run the CLI:

./ll1 <GRAMMAR_FILENAME> [TEXT_FILENAME] [OPTIONS]

This release provides a statically linked binary for Linux users.

Release 3.0-LL1Checker

04 Feb 21:26
1b94a1b

Choose a tag to compare

LL1Checker v3.0 Release 🎉

This release introduces version 3.0 of the LL(1) parser tool, now available as a pre-compiled binary for Linux and Windows.
Designed to assist students and developers in understanding and working with LL(1) grammars, this version enhances robustness, performance, and visualization.

✨ What's New?

  • New table format using tabulate, improving readability and structure.
  • No longer relies on flex for lexical analysis, making the tool more self-contained and efficient.
  • Better handling of ambiguous grammars, improving feedback and error detection.
  • Optimized performance, reducing execution time for large grammars and inputs.

💻 Compatibility and Requirements

  • Linux: Works on most modern Linux distributions. The binary was compiled using Ubuntu 22 and the boost libraries are statically linked, so you do not need to have them.
  • Windows: Windows 10 or later is required.

📥 Installation and Usage

Linux Binary

Download and run:

chmod +x ll1
./ll1

Windows Executable

Download ll1.exe and run it from any terminal.

🙌 Acknowledgments

Special thanks to tabulate for providing a clean and efficient way to display tables in the terminal.

Release 2.0 -LL1Checker

28 Oct 16:44
1e85ef7

Choose a tag to compare

This release features the version 2.0 of the LL(1) parser tool, now available as a pre-compiled binary. Designed to assist students and developers in understanding and working with LL(1) grammars, this refined version enchances the application capabilities for analyzing, and validating grammars and inputs.

Requirements

  • flex needs to be installed in your OS and in your PATH. If you are on windows, winflexbison is used, the folder must be in your PATH.
  • gcc needs to be installed and in your PATH

Installation and Usage

  1. Executable Binary (Linux)
  • Simply download and execute with ./ll1. Make sure the file has execution permissions (chmod +x ll1)
  1. Debian Package (.deb)
  • Install with sudo dpkg -i <debian_package>. After installation, run ll1 from any terminal.
  1. RPM Package (.rpm)
  • Install with sudo dnf install <rpm_package>.
  1. Windows Executable (.exe)
  • Download and run LL1.exe from any terminal.

Acknowledgments
A special thank you to the creators of winflex_bison https://github.com/lexxmark/winflexbison for their Windows port.