An open API service indexing awesome lists of open source software.

https://github.com/plietar/wacc


https://github.com/plietar/wacc

Last synced: about 1 year ago
JSON representation

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.