Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kyle-verhoog/vei
Java 3 compiler, targeting x86 written in Scala
https://github.com/kyle-verhoog/vei
Last synced: about 2 months ago
JSON representation
Java 3 compiler, targeting x86 written in Scala
- Host: GitHub
- URL: https://github.com/kyle-verhoog/vei
- Owner: Kyle-Verhoog
- Created: 2019-08-22T03:03:38.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-08-22T03:06:20.000Z (over 5 years ago)
- Last Synced: 2024-10-13T02:11:55.999Z (3 months ago)
- Language: Java
- Homepage:
- Size: 18.7 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# How to run
Run `make` to compile and `./joosc` to run the compiler# Manual procedures
We rely on a serialization of the DFA we are going to use. To create the DFA you need to read in a .lex file, use Scanner.fromConfig(tokensDefn) on that file, and
then you need to run Scanner.serializeDfa() on that dfaThe grammar is defined in the grammar.json file, make any edits here
After this run the parseGrammarJson.rb file on this json file to create the .cfg file
Once you have a .cfg file you can run the Jlalr1.parse() function on this file to create the parse table, put this in a .lr1 file
You can use the Parser.readInLr1() function to read this in and create a CFG object that is used to actually perform parsing