Jul 20, 2023

LL(k) parser generator for Rust

parol is a LLk parser generator for Rust.

It’s an installable command line tool that can generate complete parsers from a single grammar description file including all AST data types you would otherwise had to design by yourself. parol does this solely by analyzing your language’s grammar.

You can control the process of AST type generation. First you can mark elements for omission in your AST. Also you can specify your own types for language elements.

Language description and language implementation is strictly separated in parol. Thus you can design your language’s grammar without any need to process anything because generated parsers function by default as acceptors. This empowers you to do a real rapid prototyping of your grammar.

Checkout these related ports:
  • Zziplib - Library to provide transparent read access to zipped files
  • Zydis - Fast and lightweight x86/x86-64 disassembler library
  • Zycore-c - Support library with platform independent types, macros, etc for Zydis
  • Zthread - Platform-independent object-oriented C++ threading library
  • Zookeeper - Coordination Service for Distributed Applications
  • Zls - Zig LSP implementation + Zig Language Server
  • Zfp - High throughput library for compressed floating-point arrays
  • Zeal - Offline documentation browser
  • Zapcc - C++ caching compiler based on clang
  • Zanata-platform - Web-based translation platform
  • Zanata-cli - Zanata Java command line client
  • Z88dk - Complete Z80/Z180 development kit
  • Z80ex - ZiLOG Z80 CPU emulator library
  • Z80asm - Assembler for the Z80 microprocessor
  • Z80-asm - Z80 assembly code assembler and disassembler