Garrit Franke
|
2c6d81c063
|
feat: struct definitions (#12)
* feat: struct definitions
* feat: struct initialization
* chore: fix warning
* feat: use `new` keyword to initialize structs
* feat: infer struct type
* feat: allow structs as types
* feat: basic field access
* chore: fix formatting
* feat: assert function
* docs: add structs
* fix: builtin readme
* chore: refactor field access parsing
* chore: fix formatting
* feat: struct field assignments
* feat: struct field access in expressions
* feat: struct field access on function calls
* chore: fix formatting
* feat: nested structs
* chore: fix formatting
* chore: fix clippy warnings
Co-authored-by: Garrit Franke <garrit@slashdev.space>
|
3 years ago |
Garrit Franke
|
ec4f821843
|
chore: clean up argument parsing
This will come in handy later for structs, since
the parsing doesn't rely on any specific tokens
like ")" or "}"
|
3 years ago |
Garrit Franke
|
5e7724a8eb
|
Clippy fix (#11)
* ci: allow unknown lints
* ci: remove deny warnings
Co-authored-by: Garrit Franke <garrit@slashdev.space>
|
3 years ago |
Garrit Franke
|
ebd34541b1
|
chore: fix warnings
|
3 years ago |
Garrit Franke
|
6a6547b9c7
|
feat: assignment operators (#10)
* feat: assignment operators
* docs: use assignment operators
Co-authored-by: Garrit Franke <garrit@slashdev.space>
|
3 years ago |
Garrit Franke
|
62fecab0a4
|
feat: llvm statements
|
3 years ago |
Garrit Franke
|
727c8d1e72
|
feat: llvm: generate argument types
|
3 years ago |
Garrit Franke
|
3f802caad7
|
feat: llvm: return types
|
3 years ago |
Garrit Franke
|
6c2f1ffaa3
|
chore: refactor backend plugin infrastructure
|
3 years ago |
Garrit Franke
|
5f5b246c68
|
GitHub actions (#3)
* ci: fix clippy
* ci: fix clippy warning
* ci: add status badge to readme
Co-authored-by: Garrit Franke <garrit@slashdev.space>
|
3 years ago |
Garrit Franke
|
cfdb0ead49
|
feat: array as function call parameter
|
3 years ago |
Garrit Franke
|
79d01c4f6c
|
feat: array as function call parameter
|
3 years ago |
Garrit Franke
|
fe78c6ade3
|
GitHub actions (#3)
* ci: fix clippy
* ci: fix clippy warning
* ci: add status badge to readme
Co-authored-by: Garrit Franke <garrit@slashdev.space>
|
3 years ago |
Garrit Franke
|
e975944837
|
feat: basic llvm code generation
|
3 years ago |
Garrit Franke
|
c156773c5f
|
feat: scoped variables
|
3 years ago |
Garrit Franke
|
bd2fac11c6
|
feat: optional type declaration in for loop
|
3 years ago |
Garrit Franke
|
047a9585ec
|
feat: enable test_examples tests for other backends
|
3 years ago |
Garrit Franke
|
79c7ac3c76
|
chore: refactor test_examples
|
3 years ago |
Garrit Franke
|
4a4634e2d7
|
feat: add any type
|
3 years ago |
Garrit Franke
|
f742b2992e
|
tests: add failing test_array_as_argument test
|
3 years ago |
Garrit Franke
|
35e88ebbc7
|
docs: replace rust with sabre
|
3 years ago |
Garrit Franke
|
d2ab4e369a
|
tests: add e2e test cases
|
3 years ago |
Garrit Franke
|
e750d4a611
|
feat: debug output in infer function
|
3 years ago |
Garrit Franke
|
54b971b445
|
feat: infer function return types
|
3 years ago |
Garrit Franke
|
fb0f9f5016
|
feat: infer array types
|
3 years ago |
Garrit Franke
|
ce8ccce0b3
|
feat: basic type inference
|
3 years ago |
Garrit Franke
|
d8a36ffbe6
|
tests: add ignored test_complex_nested_expressions
|
3 years ago |
Garrit Franke
|
78650f7f42
|
fix: missing nested expression braces
|
3 years ago |
Garrit Franke
|
2822fddfc1
|
feat: nested arrays
|
3 years ago |
Garrit Franke
|
94a3e34776
|
feat: break and continue
|
3 years ago |
Garrit Franke
|
9447888a4f
|
feat: nested expressions
|
3 years ago |
Garrit Franke
|
b2d2fd04a4
|
test: unignore uninitialized variable test
|
3 years ago |
Garrit Franke
|
f593bf1fc3
|
test: add ignored nested array test
|
3 years ago |
Garrit Franke
|
1fa86badab
|
docs: add functions
|
3 years ago |
Garrit Franke
|
5aa5be37c8
|
Add for loops
|
3 years ago |
Garrit Franke
|
031e378538
|
WIP: Add for loops
|
3 years ago |
Garrit Franke
|
147a56b209
|
Allow uninitialized variables
|
3 years ago |
Garrit Franke
|
6ff65ea610
|
Fix booleans in functions calls
|
3 years ago |
Garrit Franke
|
0b3b52a82b
|
Remove cc dependency
|
3 years ago |
Garrit Franke
|
da069ab82f
|
Fix C runner
|
3 years ago |
Garrit Franke
|
ede4644dfb
|
Move build command to own module
|
3 years ago |
Garrit Franke
|
949b4dc449
|
Generate function prototypes
|
3 years ago |
Garrit Franke
|
fcc13c9d64
|
Test conditionals in C backend
|
3 years ago |
Garrit Franke
|
b4580fff7b
|
Properly implement feature flags
|
3 years ago |
Garrit Franke
|
b34944e257
|
Compile stdlib seperately
|
3 years ago |
Garrit Franke
|
164eba3404
|
Rename backend_js to backend_node
|
3 years ago |
Garrit Franke
|
9459c11afa
|
Add C backend
|
3 years ago |
Garrit Franke
|
c615014cb8
|
Add function return type
|
3 years ago |
Garrit Franke
|
64b43c7c0c
|
Add optional types for declares
|
3 years ago |
Garrit Franke
|
a565849f3a
|
Add types to function arguments
|
3 years ago |