itycodes
9db2b68e7b
Move function preamble to backend
2 weeks ago
itycodes
041393fa72
Temporary frontend with backend changes
...
Broken: Order of constant ops generated by functions. OpConstant belongs
before OpFunction.
2 weeks ago
itycodes
7382e9185f
Initial work on function compilation API for the frontend
...
Also one forgotten cargo fmt
2 weeks ago
itycodes
ac6ed71482
Slight compiler cleanup, type tracking
2 weeks ago
Avery
ce03ad8bac
Exit with non 0 exit code on failure
2 weeks ago
Avery
10fb87de09
Frontend and Error printing
2 weeks ago
itycodes
b67795cdfb
Forgotten cargo fmt + R-A warning cleanup
2 weeks 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.
2 weeks ago
itycodes
27d0e02b86
Forgotten cargo fmt
2 weeks 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.
2 weeks ago
itycodes
d8d4f0ee89
Add an Ast::list function analogue to Ast::symbol
2 weeks ago
itycodes
c6da0d4902
An initial README file :)
2 weeks 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.
2 weeks ago
itycodes
2c716e7b7d
Added an explicit :void type param to `fn` declarations
...
Currently only :void is allowed. We still need to emit the OpTypeVoid.
2 weeks ago
Avery
9aafb9758f
Refactor and error handling for compiler
2 weeks ago
itycodes
1e1d0911e4
Cargo fmt
2 weeks ago
Avery
e80c32419c
Fix test dealing with `Localized`
2 weeks ago
Avery
b4ab40f10e
Add error handling and location tracking to the tokenizer and parser
2 weeks ago
itycodes
5f041f491a
Fixed type generation
2 weeks ago
itycodes
3d5369cc36
Broken; Rust's Display trait is weird. Help.
2 weeks 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.
2 weeks ago
itycodes
3a3d9b46f4
Tests
...
Added a regression assert into the compile test
2 weeks ago
itycodes
0916a1910d
Initial work on the compiler
...
So far it only generates the metadata
2 weeks ago
itycodes
e2bd50a3a1
Fix the implicit type generators for vectors
...
Instead of vec4f, we now have v4f32, for vector 4 of float 32 bits
2 weeks ago
itycodes
0902762066
Initial commit
2 weeks ago