Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
Ludovic 'Archivist' Lagouardette 947092c339 Merge branch 'master' of https://git.nekoit.xyz/Archivist/sugar 1 год назад
.idea Work on interpreter 1 год назад
include Merge branch 'master' of https://git.nekoit.xyz/Archivist/sugar 1 год назад
prototypes/molasses First unit test added 1 год назад
src Merge branch 'master' of https://git.nekoit.xyz/Archivist/sugar 1 год назад
tests Merge branch 'master' of https://git.nekoit.xyz/Archivist/sugar 1 год назад
.clang-format Compiles and build completely 1 год назад
.clang-tidy Added several features 1 год назад
.gitignore Added tests for error messages on all build system known failure 1 год назад
CMakeLists.txt Merge branch 'master' of https://git.nekoit.xyz/Archivist/sugar 1 год назад
README.md Made help into a proper readme too 1 год назад

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