Collection of programs useful for syntax analysis.
$ pip install compilertk
$ compilertk FILE
Features:
- Elimination of Null Productions
- Elimination of Unit Productions
- Elimination of Left Recursion
- Calculates First Sets
- Calculates Follow Sets
- Prints Parsing Table
- Generates a log file
Using this example of a grammar:
S -> S a A | B
A -> a A | eps
B -> d E'
E' -> int a | eps
- Every symbol on the left side is a non-terminal
- Non-terminals and its productions are separated by "->"
- Individual symbols are separated with a space.
- Null productions are specified with eps
- | is used to specify alternative productions
Make sure everything runs fine by running the test cases
./run_tests.sh
- Add docstrings to functions
- Add test cases for parsing table
- Add more tests cases