A small functional/scope oriented language parsed with Antlr and compiled to llvm IR
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Pixdigit e93ff9901f removed unused code 9 months ago
cmd/st changed grammar and moved to visitor model 11 months ago
internal removed unused code 9 months ago
parser changed grammar and moved to visitor model 11 months ago
.gitignore changed grammar and moved to visitor model 11 months ago
README.md Created bare bones readme 11 months ago
ScriptoidLexer.g4 grammar: indentation after escaped newline is ignored 11 months ago
ScriptoidParser.g4 worked on resolving references by implementing calls and resolving them 9 months ago
main.go began work on compiler 10 months ago
test.sct added framework for "inlineing" and scoping. 9 months ago
test.sh refactor of astTree and parser 10 months ago



Sorry for the unfinished and bare bones README but this project is still in its very early stages so half the time I don’t even know what I do.

Getting started

This Project uses ANTLRv4 for lexing and parsing. Then using Go the parse tree is converted to an AST. The AST is then optimized and converted to a pure functional form. Finally and not yet even thought about is the compilation to LLVM IR.

So just install AntlrV4 and go and run go get gitlab.com/Pixdigit/scriptoid and you should have a running copy of the scriptoid compiler. However the testing script, which creates the parser and then parses the test file, is written using ZSH (probably Bash compatible). So if you are on windows, see how to use Antlr on windows, make sure to use Go as target language and enable visitors for antlr. If you struggle, feel free to ask me or make a bug report.