Releases: LensPlaysGames/Corth
Corth v0.0.7
dump
keyword as well as #
operator no longer print newline at end.
Newlines are now only accessible through the following:
"\n" dump_s
10 dump_c
Escaped characters within strings now handled more consistently across assembly syntaxes (NASM, GAS).
If the pre-compiled binaries are not working, you can always build Corth from source code using CMake.
What's Changed
- HeyJamboJambo Improvements by @LensPlaysGames in #2
Full Changelog: v0.0.6...v0.0.7
Corth - Better memory access
New load/store keywords
loadb
/storeb
- byteloadw
/storew
- word (2 bytes)loadd
/stored
- double word (4 bytes)loadq
/storeq
- quad word (8 bytes)
Be sure to correctly offset memory address when manipulating values larger than a byte.
i.e. mem 0 + 65535 storeq
will write memory from mem 0 +
to mem 7 +
.
Corth - GAS syntax support
Assembly can now be generated for the GNU assembler (as
) using the -GAS
CCLI flag.
To assemble and link GAS assembly, Corth uses gcc
by default. gcc
links to the C RunTime uneless otherwise told, so this means if you are having linking issues GAS will likely be a wonderful alternative, or if you just prefer to use gcc
to compile things.
This is a large step forward in compatibility; Mac seems to be the only logical next step.
Corth - String Literals
Strings are now supported by Corth!
Hello, World! just got a whole lot simpler.
Corth - Turing Complete
Corth is now 100% turing complete, proven by rule 110 being implemented.
If the downloaded executable does not work for your given operating system, you can always build Corth from source by following the instructions in README.md
Next up, strings...
Corth - A stack-based programming language
While loops are now fully supported
Memory access now fully supported
I think we may be turing complete at this point, still have to prove it though
Simulation mode removed
Corth - A stack-based programming language
Full Changelog: https://github.com/LensPlaysGames/Corth/commits/v0.0.1
REMEMBER Corth must be ran from the command line. If you are trying to double-click an executable, you're doing it wrong (see README).
Features:
- Load
.corth
program from file - Simulate program within virtual machine (no compilation required)
- Generate x86-64 NASM assembly for Windows x64 or Linux x64
- Compile program all the way to executable (requires NASM, a linker capable of linking to C runtime)
Language Features:
- Conditional Branching
- Expression evaluation