Garrit Franke
f58ec04ec3
fix: nested expression parsing
...
fixes: #8 , #18
3 years ago
Garrit Franke
48f3a6692e
chore: extract types into own module
3 years ago
Garrit Franke
4c4f9f743d
chore: extract AST to own module
3 years ago
Garrit Franke
7810052c56
Modules ( #17 )
...
* chore: rename program -> module
* feat: add module builder
* feat: append standard library
* chore: fix clippy warnings
* chore: fix formatting
* feat: imports
* chore: fix formatting
* feat: resolve path deltas to entrypoint
* chore: fix formatting
* fix: path resolver
* chore: refactor stdlib
* docs: document modules
* docs: add "unreleased" section to changelog
* docs: add modules as unreleased bullet in changelog
* feat: resolve nested modules
* fix: clean up file resolvement
* chore: fix clippy lints
3 years ago
Garrit Franke
278d5e6542
Match statements ( #15 )
...
* feat: lexical tokens for match
* feat: parser implementation of match
* feat: js generation for match statements
* feat: match block arms
* feat: default arm for match
* chore: fix formatting
* chore: fix clippy warnings
* docs: add match statement
* feat: use "else" keyword instead of "default"
Co-authored-by: Garrit Franke <garrit@slashdev.space>
3 years ago
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
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
cfdb0ead49
feat: array as function call parameter
3 years ago
Garrit Franke
79d01c4f6c
feat: array as function call parameter
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
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
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
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
Garrit Franke
13a88a0e76
Fix array access as assignment
3 years ago
Garrit Franke
2d26d0a198
Fix multiple function arguments
3 years ago
Garrit Franke
ac07e43719
Add array access syntax
3 years ago
Garrit Franke
57f403cc9b
Add stdlib
3 years ago
Garrit Franke
0d213f33e9
Add variable assignment
3 years ago
Garrit Franke
8fe1e42c43
Add booleans
3 years ago
Garrit Franke
f43aa36432
Add while loop
3 years ago
Garrit Franke
06588aa272
Fix strings in array
3 years ago
Garrit Franke
e276e7c7f8
Fix warnings
3 years ago
Garrit Franke
13fb396842
Refactor parser module structure
3 years ago
Garrit Franke
5a5dea79cd
Clean up error handling
3 years ago
Garrit Franke
03c71987cd
Add integer arrays
3 years ago
Garrit Franke
226fb93792
Add copyright notices
3 years ago
Garrit Franke
f0f20b950a
Add else branch
3 years ago
Garrit Franke
b23a9bd751
Generalize block into own statement
3 years ago
Garrit Franke
aaab0a4b28
Add conditional else if branch
3 years ago
Garrit Franke
c1ead8ddc9
Fix compound op with identifier first
3 years ago
Garrit Franke
4d5ef86243
Revert "Change function declaration syntax"
...
This reverts commit b21c781a64
.
3 years ago
Garrit Franke
7d8883ed63
Allow multiple statements in if conditional
3 years ago
Garrit Franke
1a95efb5d8
Add basic conditionals; remove semicolons
3 years ago
Garrit Franke
b21c781a64
Change function declaration syntax
3 years ago
Garrit Franke
7b081ab974
Refactor function call parsing
3 years ago
Garrit Franke
66e24bae70
Clean up expression parsing
3 years ago
Garrit Franke
628ac67089
Fix parsing of complex compound expressions
3 years ago
Garrit Franke
e22f5647c6
Add math operations
3 years ago
Garrit Franke
002d69af49
Fix return with expression
3 years ago
Garrit Franke
213924bc3d
Tokenize Comma
3 years ago
Garrit Franke
8186b0c56e
Add function arguments
3 years ago