Commit graph

34 commits

Author SHA1 Message Date
tocariimaa
71fb88602f move to nominal typing for some types 2025-01-20 19:30:22 -03:00
tocariimaa
6ff868a646 rename: attribute -> pragma in fields 2025-01-20 19:03:33 -03:00
tocariimaa
ea9e8b7d0d rename: attribute -> pragma 2025-01-20 18:54:23 -03:00
tocariimaa
1b1653b593 use double quotes here 2025-01-20 17:50:04 -03:00
tocariimaa
47684dfb38 update makefile 2025-01-19 20:47:25 -03:00
tocariimaa
b7129b51ab update header paths and makefile 2025-01-19 20:28:18 -03:00
tocariimaa
9b120090c0 move compiler entry point file to project root 2025-01-19 20:27:45 -03:00
tocariimaa
57097d6779 comment here 2025-01-19 19:42:44 -03:00
tocariimaa
ea75f19804 move expression to func 2025-01-19 19:32:01 -03:00
tocariimaa
c1d54991c0 remove usage of goto 2025-01-19 19:23:39 -03:00
tocariimaa
c984c94ac8 tweak graphic 2025-01-19 19:21:15 -03:00
tocariimaa
58aabecb3d style: remove braces 2025-01-19 19:19:23 -03:00
tocariimaa
abc6a16294 use macro constant here 2025-01-19 19:12:45 -03:00
tocariimaa
b2c4a55544 update grammar 2025-01-19 19:09:41 -03:00
tocariimaa
41589320de preliminary variable decl type inference from expr
Start work on basic type inference, here for inferring the type of a
variable declaration from its assigned expression.
2025-01-15 13:47:59 -03:00
tocariimaa
001a06dd2d pass correct location to return expression check
The `return` statement location was being used instead of the expression
location.
2025-01-15 13:07:17 -03:00
tocariimaa
ad64813a67 update grammar 2025-01-15 13:07:01 -03:00
tocariimaa
0f27e9965a fix rule naming in grammar spec
I forgot that ABNF rule names don't accept underscores...
2025-01-14 19:27:38 -03:00
tocariimaa
47dfde6b3b forgot to remove this file 2025-01-14 19:21:36 -03:00
tocariimaa
3836492ba2 use ABNF for the grammar specification instead
ABNF has a more accepted standard than EBNF.
2025-01-14 19:18:42 -03:00
tocariimaa
527561000f add formal grammar definition 2025-01-14 00:34:50 -03:00
tocariimaa
af60de0d62 lexer: use Str_from_buf here 2 2025-01-13 14:52:14 -03:00
tocariimaa
3d8c20f5c3 fix wrong null terminator assertion 2025-01-13 14:48:12 -03:00
tocariimaa
33c8f0b841 lexer: use Str_from_buf here
Instead of handcrafting the `Str` struct.
2025-01-13 14:38:25 -03:00
tocariimaa
0bedfa70c5 convert Sb macro to a proper function
...this way we can assert that the provided buffer is actually
null-terminated.
`Sb()` -> `Str_from_buf()`.
2025-01-13 14:34:25 -03:00
tocariimaa
842322bedc lexer: increment column count in multibyte tokens 2025-01-13 14:17:14 -03:00
tocariimaa
628d656207 lexer: remove this useless code 2025-01-12 23:50:41 -03:00
tocariimaa
6b26b25567 be more confident 2025-01-12 23:39:41 -03:00
tocariimaa
cad0e29978 lexer: move this macro definition 2025-01-12 23:17:46 -03:00
tocariimaa
698a10e4ba lexer: save token location here too 2025-01-12 23:17:32 -03:00
tocariimaa
f5230501a9 separate Location for identifier and type in AST
`AstIdentTypePair` AST node.
2025-01-12 23:15:03 -03:00
tocariimaa
7f5bcf4f77 lexer: make each token return its location 2025-01-12 23:13:17 -03:00
tocariimaa
2a83bc00f8 include gitignore 2025-01-12 19:11:08 -03:00
tocariimaa
bba597f7bf Initial commit 2025-01-12 18:20:42 -03:00