aboutsummaryrefslogtreecommitdiff

Parser things

This repo has simple implementations of concepts seen in parsing and compiler design, written in a way to be easily integrated and combined while each file/concept has a standalone example.

The main example if this is a simple compiler generator where the table to be generated (lalr, clr, slr) and the definitions are loaded as shared libraries.

The idea is to extend it to many types of table generation, parsing techniques and ways to add semanitic meaning.

TODO

NOW:

  • Deal with conflicts (copy lemon for precedence)
  • EBNF parser to get the whatever-def.c file

Goals

  • Proper LALR generation
  • LL table generation and parsing
  • Possibly recursive ascent and recursive descent generation (a bit pointless)
  • Left corner / resursive ascent-descent generation (Horspool)
  • Proper attribute grammar implementation, evaluation, and dealing with cycles
  • (S)GLR - Scannerless Generalized LR (Masaru Tomita)
  • It would be good to implemented a compiler of C language (C, B, BCPL), and a high level language, maybe Prolog or something mine and with all beingfairly optimized

Buildling

The build script couldn't be more straight forward, use just ./build.sh and uncomment the lines for the give use