itycodes
4de3cb11d8
Forgotten cargo fmt
9 months ago
Avery
44554f5308
Address pr review
9 months ago
Avery
e81515ed5d
Revert comment change
9 months ago
Avery
7bff10a5be
Code maid stuff
9 months ago
itycodes
a740937a01
Messy initial support for vectors
9 months ago
itycodes
9db2b68e7b
Move function preamble to backend
10 months ago
itycodes
041393fa72
Temporary frontend with backend changes
...
Broken: Order of constant ops generated by functions. OpConstant belongs
before OpFunction.
10 months ago
itycodes
7382e9185f
Initial work on function compilation API for the frontend
...
Also one forgotten cargo fmt
10 months ago
itycodes
ac6ed71482
Slight compiler cleanup, type tracking
10 months ago
Avery
ce03ad8bac
Exit with non 0 exit code on failure
10 months ago
Avery
10fb87de09
Frontend and Error printing
10 months ago
itycodes
b67795cdfb
Forgotten cargo fmt + R-A warning cleanup
10 months ago
itycodes
e33e43e221
Initial work on function compilation
...
So far we only got constants and store-ptr.
Not supported by the frontend yet, so far only in tests.
10 months ago
itycodes
27d0e02b86
Forgotten cargo fmt
10 months ago
itycodes
828d0aa567
Modify the language's store-ptr syntax to make it match the compiler
...
store-ptr now takes a symbol instead of a list containing a symbol to
make the compiler easier to write.
10 months ago
itycodes
d8d4f0ee89
Add an Ast::list function analogue to Ast::symbol
10 months ago
itycodes
c6da0d4902
An initial README file :)
10 months ago
itycodes
43b12de508
Replace the :void type expr with :<>
...
`void` collides with the simplistic type parser, which expects single
char types. `()` collides with the S-expression parser.
Specifically, it hits the `v` for vector case. This could be fixed by
rewriting the type parser, but I like to keep the whole compiler as
simple as possible for now.
10 months ago
itycodes
2c716e7b7d
Added an explicit :void type param to `fn` declarations
...
Currently only :void is allowed. We still need to emit the OpTypeVoid.
10 months ago
Avery
9aafb9758f
Refactor and error handling for compiler
10 months ago
itycodes
1e1d0911e4
Cargo fmt
10 months ago
Avery
e80c32419c
Fix test dealing with `Localized`
10 months ago
Avery
b4ab40f10e
Add error handling and location tracking to the tokenizer and parser
10 months ago
itycodes
5f041f491a
Fixed type generation
10 months ago
itycodes
3d5369cc36
Broken; Rust's Display trait is weird. Help.
10 months ago
itycodes
6036a5fe90
Initial work on SPIR-V assembly generation
...
Atm it only handles the basic metadata in modules.
Doesn't generate code for functions, or types.
Type handling is just a placeholder %undefined_type.
10 months ago
itycodes
3a3d9b46f4
Tests
...
Added a regression assert into the compile test
10 months ago
itycodes
0916a1910d
Initial work on the compiler
...
So far it only generates the metadata
10 months ago
itycodes
e2bd50a3a1
Fix the implicit type generators for vectors
...
Instead of vec4f, we now have v4f32, for vector 4 of float 32 bits
10 months ago
itycodes
0902762066
Initial commit
10 months ago