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

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

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)