Skip to content
Parser generator for LR parsers
Python
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
grammars
lrkit
.gitignore
LICENSE.md
README.md
demo_calculator.py
demo_raw_grammar.py
test

README.md

LRKit

LRKit is a parser generator for canonical LR(1) parsers. It is designed towards experimentation, rapid design of programming language grammars and keyboard user interfaces.

To start out read the Manual.

To understand LR parsers, read the blog post that this module originated from.

Prior use

Successfully parsed a calculator. Seems to be able to parse larger languages too, but requires further study to verify. Work in progress.

Features

  • Canonical LR(1) parser generator and parser engine
  • Grammar construction language
  • Tokenizer for indented languages that do not have parenthesis spanning across a line.
  • File offset based numbering for tokens.
  • (Incomplete) caching of the produced grammar.
  • (Incomplete) diagnosis of conflicting grammars.
  • (Incomplete) syntax error reporting system.
  • Compantmentalized source code structure. Should be easy to understand and read.
You can’t perform that action at this time.