Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
Ludovic 'Archivist' Lagouardette 26724a3812 Added type checked support for GOTO and LABEL in prevision of adding conditionals jumps and loops 10 meses atrás
.idea Work on interpreter 1 ano atrás
include Added type checked support for GOTO and LABEL in prevision of adding conditionals jumps and loops 10 meses atrás
prototypes/molasses First unit test added 1 ano atrás
src Added type checked support for GOTO and LABEL in prevision of adding conditionals jumps and loops 10 meses atrás
tests Added type checked support for GOTO and LABEL in prevision of adding conditionals jumps and loops 10 meses atrás
.clang-format Compiles and build completely 1 ano atrás
.clang-tidy Added several features 1 ano atrás
.gitignore Added tests for error messages on all build system known failure 1 ano atrás
CMakeLists.txt Added type checked support for GOTO and LABEL in prevision of adding conditionals jumps and loops 10 meses atrás
README.md Made help into a proper readme too 1 ano atrás

README.md

Sugar

Commands

lex : string ➔ lexed_output

takes a filename to a file that must be compiled

merge : lexed_output lexed_output ➔ lexed_output

merges two lexed modules together

parse : lexed_output ➔ parsed_output

prepares code for generation

generate : parsed_output string ➔ string

takes a root filename, it will be appended with ".s" and that will be the generated assembly file, the filename will not be consumed

assemble : string ➔ _

takes a root filename, it will be appended with ".s" and that file will be compiled, the compiled output will be the given filename

help : _ ➔ _

prints this help

Examples

  • compile the file "example.mol" into the "potato.s" assembly file

$ sugar example.mol lex parse potato generate

  • compile the file "example.mol" into the "potato" executable

$ sugar example.mol lex parse potato generate assemble

  • compile the file "example.mol" and "2.mol" into the "potato" executable

$ sugar example.mol lex 2.mol lex merge parse potato generate assemble