227 Commits

Author SHA1 Message Date
Ryan Chandler
ebd93090fa
parser: support null as a type 2022-09-15 01:23:21 +01:00
Ryan Chandler
4f795e94bc
chore: format 2022-09-15 01:17:48 +01:00
Ryan Chandler
7bac78f039
parser: support label statements 2022-09-15 01:17:41 +01:00
Ryan Chandler
1f0cd664da
parser/lexer: add support for goto statements 2022-09-15 01:15:52 +01:00
Ryan Chandler
1643b8b122
chore: format 2022-09-15 01:09:19 +01:00
Ryan Chandler
17b37157ce
parser: support first class callables on static method calls 2022-09-15 01:06:42 +01:00
Ryan Chandler
8d6ad8ec0a
parser: support first class callables on method calls 2022-09-15 01:05:33 +01:00
Ryan Chandler
bada341e02
parser: support first class callables on functions 2022-09-15 01:03:21 +01:00
Ryan Chandler
9e17eaff14
chore: format 2022-09-15 00:55:09 +01:00
Ryan Chandler
81f5719fd5
parser: add test case for static arrow functions returning by ref 2022-09-15 00:54:12 +01:00
Ryan Chandler
05aff40752
parser: add support for static arrow functions 2022-09-15 00:53:33 +01:00
Ryan Chandler
17a48e3ce2
chore: format 2022-09-15 00:48:59 +01:00
Ryan Chandler
4338b83254
parser: support arrow functions returning by ref 2022-09-15 00:47:51 +01:00
Ryan Chandler
af11ff39c8
parser: add test for static closures returning by ref 2022-09-15 00:46:13 +01:00
Ryan Chandler
95dbc4416e
parser: support closures returning by ref 2022-09-15 00:45:33 +01:00
Ryan Chandler
630ad85f34
parser: support named functions returning refs 2022-09-15 00:42:28 +01:00
Ryan Chandler
2d09a251d3
parser: support function params being marked as refs 2022-09-15 00:15:31 +01:00
Ryan Chandler
17c5307e4f
parser: add test cases for foreach refs 2022-09-15 00:09:01 +01:00
Ryan Chandler
0145e58834
parser: support static closures 2022-09-15 00:04:27 +01:00
Ryan Chandler
7e7fd8a24d
parser/lexer: support __halt_compiler token 2022-09-14 23:55:42 +01:00
Ryan Chandler
f7ae8fb868
feature: support global braced namespace 2022-09-14 23:37:47 +01:00
Ryan Chandler
ba73ddbac3
all: clippy 2022-09-14 12:04:38 +01:00
Ryan Chandler
16af78d56d
chore: format 2022-09-14 12:01:30 +01:00
Ryan Chandler
2b7d41812f
parser: get failing test cases passing on precedence changes 2022-09-14 12:01:10 +01:00
Ryan Chandler
b384bb81ec
parser: prevent non-associative and equal precedence operators being used in same expression 2022-09-13 21:01:30 +01:00
Ryan Chandler
be4e54c5be
parser: add associativity mappings 2022-09-13 20:46:16 +01:00
Ryan Chandler
f4de25d2dc
parser: add precedence for ** operator 2022-09-13 15:24:16 +01:00
Ryan Chandler
ee253d510e
parser: move expression method over to Precedence logic 2022-09-13 15:20:40 +01:00
Ryan Chandler
5874fc50e0
chore: format 2022-09-13 14:10:49 +01:00
Ryan Chandler
9b3fbd12a4
parser: map some operators to new precedence 2022-09-13 14:10:48 +01:00
Ryan Chandler
860e16368b
parser: create Precedence and Associativity enums 2022-09-13 14:09:20 +01:00
Ryan Chandler
067bac959a
parser: support backed enums with cases that have no backing value 2022-09-13 12:15:29 +01:00
Ryan Chandler
e63fe36008
all: clippy 2022-09-13 12:11:33 +01:00
Ryan Chandler
4f64297907
parser: support readonly class properties 2022-09-13 12:08:41 +01:00
Ryan Chandler
5e91a16175
parser: support readonly classes 2022-09-13 12:02:20 +01:00
Evan Shaw
032d5539e8 Switch cases can be terminated with semicolons 2022-09-13 22:53:07 +12:00
Ryan Chandler
48236ceb9e
parser: add support for multiple constants in one statement 2022-09-13 11:50:40 +01:00
Ryan Chandler
8191b56795
chore: format 2022-09-13 11:41:53 +01:00
Ryan Chandler
61c04bb616
fix: support empty array items 2022-09-13 11:41:02 +01:00
Evan Shaw
d803e53a0a Remove serde dependency 2022-09-13 22:24:31 +12:00
Evan Shaw
447b1be197 Use ByteString through lexer and parser 2022-09-13 22:03:09 +12:00
Evan Shaw
4c7047fbd1 Lex and parse in terms of bytes rather than characters 2022-09-13 17:01:24 +12:00
Ryan Chandler
d9d3ffbb47
parser: support declare statement with postfix block 2022-09-13 00:59:12 +01:00
Ryan Chandler
bbfce83894
parser: add test case for multiple declares in same statement 2022-09-13 00:54:01 +01:00
Ryan Chandler
a48258146d
parser: support basic declare statements 2022-09-13 00:53:18 +01:00
Ryan Chandler
ce49b01cca
chore: format 2022-09-13 00:46:58 +01:00
Ryan Chandler
c5e4632c15
parser: support global statements 2022-09-13 00:46:37 +01:00
Ryan Chandler
5538c1e421
chore: format 2022-09-13 00:39:25 +01:00
Ryan Chandler
799189a5ed
parser: support top-level constants 2022-09-13 00:37:59 +01:00
Ryan Chandler
55d94b70fa
parser: support catch conditions without variables 2022-09-13 00:32:07 +01:00