206 Commits

Author SHA1 Message Date
Ryan Chandler
1a7447de4b
parser: introduce new ParserConfig 2022-08-04 13:21:14 +01:00
Ryan Chandler
431d449f10
parser+lexer: support switch statements
Closes #4.
2022-08-04 10:53:41 +01:00
Ryan Chandler
65fa165ba8
parser+lexer: support try/catch/finally statements
Closes #17.
2022-08-04 00:41:27 +01:00
Ryan Chandler
b254e59bde
parser+lexer: support match expressions
Closes #16.
2022-08-04 00:21:10 +01:00
Ryan Chandler
1a7aae97d9
parser: move Expression enum to struct format instead of tuple
Closes #11.
2022-08-04 00:03:50 +01:00
Ryan Chandler
d602902d7b
parser: make Assign an InfixOp instead of expression type
Closes #14
2022-08-03 20:50:07 +01:00
Ryan Chandler
5eca385a9a
parser: abstract out optional comma logic 2022-08-03 13:51:20 +01:00
Ryan Chandler
223df961ce
rs: experiment with a PHP to Rust to binary compiler 2022-07-29 16:32:25 +01:00
Ryan Chandler
129b4f9626
parser: support lte/gte ops 2022-07-28 20:15:22 +01:00
Ryan Chandler
0322e3c805
parser: support normal for statements 2022-07-28 20:13:08 +01:00
Ryan Chandler
22d8cc332c
parser: support add assign operator 2022-07-28 20:07:40 +01:00
Ryan Chandler
67a26ae78f
parser: support clone expressions 2022-07-28 20:05:04 +01:00
Ryan Chandler
ad4f005511
parser: support null coalescing operator expressions (kinda) 2022-07-28 20:02:11 +01:00
Ryan Chandler
81199e5d5d
parser: support long ternary expressions 2022-07-28 19:45:00 +01:00
Ryan Chandler
ed12a5c5f3
parser: add missing default param to tests 2022-07-28 19:36:55 +01:00
Ryan Chandler
8a515e760f
parser: support greater than 2022-07-28 19:36:06 +01:00
Ryan Chandler
d903fc5d79
parser&lexer: support for various things found in a Laravel app 2022-07-28 17:38:09 +01:00
Ryan Chandler
16283d1273
parser: support equals/identical and not variant expressions 2022-07-28 17:01:40 +01:00
Ryan Chandler
d955cd28da
parser: support prefix expressions like ! 2022-07-28 16:08:14 +01:00
Ryan Chandler
08e7c99f25
parser: remove unneccessary FunctionKind enum 2022-07-28 15:55:13 +01:00
Ryan Chandler
151e0d90c3
parser: support null constant 2022-07-28 15:53:47 +01:00
Ryan Chandler
a6fc1b58f1
parser: reorganise poor expression handling 2022-07-28 15:52:45 +01:00
Ryan Chandler
30afcce2d5
parser: support array indexing 2022-07-28 15:44:46 +01:00
Ryan Chandler
ea1365c77d
parser: support true/false (bool) expressions 2022-07-28 14:45:05 +01:00
Ryan Chandler
39c7d9887d
parser: support static method calls, property fetches and constants 2022-07-28 14:42:14 +01:00
Ryan Chandler
fc731c468d
parser: ensure function statements only parse when followed by an ident
Closes #12
2022-07-28 13:53:46 +01:00
Ryan Chandler
b4e11bd6bd
parser: support use list in closures 2022-07-28 13:38:16 +01:00
Ryan Chandler
6ba2532af6
parser: manually parse closures 2022-07-28 13:30:31 +01:00
Ryan Chandler
abd1559f31
parser: support foreach statements 2022-07-28 12:29:44 +01:00
Ryan Chandler
98fbc20291
all: clippy 2022-07-28 01:06:31 +01:00
Ryan Chandler
479b323cd9
parser: support variadic function params
Closes #9
2022-07-28 01:04:20 +01:00
Ryan Chandler
a502c21a7f
parser: ident method docs for clarity 2022-07-28 00:48:31 +01:00
Ryan Chandler
b4f8b1bf00
parser: abstract var for consistency 2022-07-28 00:47:15 +01:00
Ryan Chandler
d4cae32474
parser: abstract name and fqn into methods for consistency 2022-07-28 00:45:47 +01:00
Ryan Chandler
fc1309953e
parser: abstract lparen and rparen for consistency 2022-07-28 00:42:24 +01:00
Ryan Chandler
161bd9efed
parser: abstract ident method for consistency 2022-07-28 00:40:45 +01:00
Ryan Chandler
9f91261298
parser: abstract lbrace and rbrace methods for consistency 2022-07-28 00:36:41 +01:00
Ryan Chandler
ccc154656f
parser: abstract a semi colon method for consistency 2022-07-28 00:34:41 +01:00
Ryan Chandler
fbc48a5db5
parser: support empty / simplest switch statement 2022-07-28 00:30:32 +01:00
Ryan Chandler
f11d3cc4fc
parser: introduce new use kind concept 2022-07-27 21:27:57 +01:00
Ryan Chandler
e1eff91ee7
parser: support continue statements 2022-07-27 21:14:32 +01:00
Ryan Chandler
3ad45e6d1e
parser: support break statements 2022-07-27 20:59:20 +01:00
Ryan Chandler
e3a0e3e62f
parser: scope block method to crate 2022-07-26 17:58:37 +01:00
Ryan Chandler
f5c3143468
all: clippy 2022-07-26 17:56:10 +01:00
Ryan Chandler
013e2403ad
parser: abstract block logic 2022-07-26 17:54:03 +01:00
Ryan Chandler
dc7604f7ad
parser: abstract parameter list logic 2022-07-26 17:48:28 +01:00
Ryan Chandler
e52dd5db95
Merge branch 'main' of github.com:ryangjchandler/trunk 2022-07-26 14:23:18 +01:00
Ryan Chandler
d30e252c9d
all: remove let_chains feature 2022-07-26 14:07:08 +01:00
Domantas
72ff4cdcc2 parser: add elseif test 2022-07-26 14:44:06 +02:00
Domantas
ba3ae0ee06 parser: support else if statements 2022-07-26 14:39:22 +02:00