aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 9e853ba3effa67fba204c7c64647e80a71448c52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
### 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

#### Goals

- The LR parser implementation is very dirty and bad
- The building process is too compilated, the grammar parser
  should also do the table generation

- 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