From a6cb97af1a2a5491f54fcfa7064641dc0aafd898 Mon Sep 17 00:00:00 2001 From: kartofen Date: Mon, 7 Jul 2025 00:45:12 +0300 Subject: add readme --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..f1efbff --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +### 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 + +- 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 -- cgit v1.2.3