https://github.com/thatonegin/parfast
A strange language
https://github.com/thatonegin/parfast
assembly compiler lua programming-language
Last synced: 5 months ago
JSON representation
A strange language
- Host: GitHub
- URL: https://github.com/thatonegin/parfast
- Owner: ThatOneGin
- Created: 2024-10-26T23:10:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-06T01:22:46.000Z (10 months ago)
- Last Synced: 2025-04-06T02:25:40.475Z (10 months ago)
- Topics: assembly, compiler, lua, programming-language
- Language: Lua
- Homepage:
- Size: 104 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
```
---> @@@@@ @@@@ @@@@@ @@@@@@ @@@@ @@@@ @@@@@@
--> @@ @@ @@ @@ @@ @@ @@ @@ @@ @@ @@
--> @@@@@ @@@@@@ @@@@@ @@@@ @@@@@@ @@@@ @@
--> @@ @@ @@ @@ @@ @@ @@ @@ @@ @@
--> @@ @@ @@ @@ @@ @@ @@ @@ @@@@ @@
```
A stack oriented language that targets x86_64 assembly.
# Supported assemblers
- Nasm (default)
- Fasm
# Quickstart
for more detailed overview and demonstrations of the syntax, check [quickstart](Quickstart.md)
compile file:
```console
$ lua parfast -com
[1/2] nasm -f elf64 input.parfast
[2/2] ld -o input input.o
```
Or alternatively
```console
$ ./parfast -com
Commands:
[1/2] nasm -f elf64 input.parfast
[2/2] ld -o input input.o
```
# Compiling the compiler
Required tools:
- lua
- luac
In linux, just run `./build.lua` and it will procude a file named `parfast` which is the compiler. But unfortunately it won't work well on Windows.
# Todos
- [X] type-checking
- [X] better error handling
- [X] multi assembler support
- [ ] check stack inconsistency at stack tracker
- [ ] self hosting (probably never XD)