A simple lexer & parser for a story-telling focused programming language written in C. Implemented using principles of finite state machines.
Build and Run
- Lexer (GenerateTable):
make run-lexer
- Parser (ParserG2PPL):
make run-parser
- Clean build artifacts:
make clean
-
Indentation must use spaces, not tabs (
\t).
The lexer only counts space characters for indentation. Tabs will cause incorrect INDENT/DEDENT tokens.To check for tabs in your source file:
cat -A yourfile.st
Tabs appear as
^I. If found, replace them with spaces.To avoid tabs entirely, write the code snippet on vs code.
-
All commands should be run from the project root directory.