https://github.com/plietar/wacc
https://github.com/plietar/wacc
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/plietar/wacc
- Owner: plietar
- Created: 2018-07-02T23:58:39.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-02T23:59:25.000Z (almost 8 years ago)
- Last Synced: 2025-02-09T21:30:50.835Z (over 1 year ago)
- Language: Haskell
- Size: 1.76 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README
Awesome Lists containing this project
README
WACC Compiler - Group 20
Ignacio Navarro
Paul Lietar
Leanne Lyons
Jaime Rodriguez
> Makefile <
Builds the Compiler using the Cabal tool.
Usage: 'make' -- Basic Build
'make runtime' -- Build libruntime.a static library.
-- Calls src/runtime's Makefile
'make gc' -- Build libwaccgc.a static library.
-- Calls src/GC's Makefile
'make clean' -- Recursive clean all Makefiles
> compile <
Runs the Wacc compiler with an input .wacc file
Note: Requires building first.
Usage: './compile input.wacc'
For more options run './compile --help'
> execute.sh <
Compiles and executes a .wacc file.
Usage: './execute.sh FLAGS FILE.wacc [FILE.in]'
FLAGS: '--debug' -- Loads the program into gdb
'--with-runtime' -- For async functions.
-- Requires libwaccgc.a
'--with-gc' -- Use Gargage Collection when executing the file
-- Requires libruntime.a
> Vagrantfile <
(Requires VirtualBox)
Set up VM with necessary tools to compile and execute arm assembly.
Usage: vagrant up -- Install VM or turn on if installed
vagrant ssh -- To log into the VM
-- Then go to /vagrant directory and the whole
-- wacc repository is linked there.
> wacc.cabal <
Specifies authors, Cabal-version, build dependency and
other information relevant to the Cabal tool.
> src <
Contains all the compiler code.
> runtime <
Async code
> GC <
Gargage collection code
> dist <
Holds object files generated by Cabal tool.
> Setup.hs <
Set main as the default start point. Required by Cabal.