b291619d10
Remove unnecessary Clone bounds
2022-11-19 19:36:10 +01:00
0099277644
Parse named function definitions
2022-11-19 19:24:23 +01:00
ff3edf17e5
Parse anonymous function definitions
2022-11-19 19:13:30 +01:00
9a1bb92dfe
Prepare parser for function definitions
2022-11-19 18:58:39 +01:00
86006933d7
Add local function definitions
2022-11-19 18:58:21 +01:00
b590f640f4
Parse logic operators right associative
2022-11-19 13:26:09 +01:00
5e26d9550c
Remove unused import
2022-11-19 13:05:40 +01:00
9c8d09e3cb
Box pub parsers and adjust visibility
2022-11-19 13:00:43 +01:00
408219073a
Parse binary operators
...
For now, they're all left associative.
2022-11-19 12:40:52 +01:00
63f8026007
Parse arithmetic and logical negation
2022-11-19 11:58:52 +01:00
4be5283204
Make Expr Debug more compact and less ambiguous
2022-11-19 11:38:11 +01:00
94198d126f
Parse suffixes
2022-11-19 11:22:49 +01:00
3e2f118e2e
Move program ast into separate file
2022-11-19 11:02:36 +01:00
e2bb847577
Simplify imports
2022-11-19 11:01:09 +01:00
36e40d254d
Add function definitions to ast
2022-11-19 10:58:34 +01:00
5466f7afbf
Turn strs into chars where possible
2022-11-18 22:07:42 +01:00
73e32252c4
Parse table destructuring
2022-11-18 21:44:25 +01:00
a82b625631
Add builtins to ast and parse them
2022-11-18 21:17:05 +01:00
4fdce864d3
Forbid using keywords as identifiers
2022-11-18 21:05:57 +01:00
41723eb4ca
Parse comments in whitespace
2022-11-18 20:59:51 +01:00
a559966c1d
Split up parser
...
The structure mostly follows the ast structure, with some slight
changes. Each parser submodule documents which ast submodule it
corresponds to.
This parser is not yet complete, and I have yet to go through its
modules one-by-one to fix and complete them.
2022-11-18 20:20:37 +01:00
037a0f69a3
Split up and expand ast
2022-11-18 19:37:51 +01:00
4e94c13351
Add todo
2022-11-18 18:59:22 +01:00
63a33b47a1
Parse field access suffix
2022-11-18 14:59:21 +01:00
23a126cbfd
Parse parenthesized expressions
2022-11-18 14:33:15 +01:00
b3ddc793d0
Add parenthesized expression to ast
2022-11-18 14:26:36 +01:00
629eca7409
Parse variable identifier assignment expressions
2022-11-18 14:23:31 +01:00
621a829d1d
Parse variable assignment expressions
2022-11-18 14:20:29 +01:00
fb2d1c14b1
Parse variable identifier expressions
2022-11-18 14:15:50 +01:00
27bc69806a
Parse variable expressions
2022-11-18 14:12:10 +01:00
13413702ed
Parse basic expressions
2022-11-18 14:11:50 +01:00
274ed8b3ca
Parse table constructors
2022-11-18 14:00:48 +01:00
6bf1c8f7d1
Parse literals
2022-11-18 13:49:49 +01:00
1d02ff4480
Parse table literals
2022-11-18 13:25:07 +01:00
ee832588ac
Parse numeric literals
2022-11-18 12:55:02 +01:00
932af88c84
Parse ident
2022-11-18 12:24:01 +01:00
e9d2602cd6
Parse space without comments
2022-11-18 12:20:00 +01:00
d64a971ed4
Create Stream using custom Span
2022-11-18 12:19:45 +01:00
8bf446b9c3
Track space, comments and spans in ast
2022-11-18 12:05:38 +01:00
34a08d82ee
Deactivate parser
2022-11-18 11:25:25 +01:00
b24f218e0b
Implement custom, Copy span
2022-11-18 11:24:59 +01:00
2ad7be8bc6
Rename some ast elements
2022-11-17 19:35:02 +01:00
0cb667f2cd
Parse table constructors
2022-11-17 19:07:33 +01:00
e7e4ca76fc
Make Debug of some ast types more compact
2022-11-17 18:50:39 +01:00
ad91e3b3fb
Parse literals except string literals
2022-11-17 18:47:22 +01:00
5b24bd7b79
Parse table literals
2022-11-17 18:20:44 +01:00
7f0f886fb7
Parse positive numeric literals
2022-11-17 18:20:26 +01:00
f1eca2be57
Parse ident
2022-11-17 15:56:38 +01:00
3db4ec581f
Make ast types pub
2022-11-17 15:51:37 +01:00
b3621f1efd
Add comments/multiline strings
2022-11-17 15:45:54 +01:00