Commit Graph

643 Commits

Author SHA1 Message Date
Ryan Chandler
91faaafdf9
fix: replace missed usage of Negate with no ops expression 2022-12-09 22:37:57 +00:00
Ryan Chandler
68d2ec6702
chore: remove unused BooleanNot expression 2022-12-09 22:36:18 +00:00
Ryan Chandler
01301e9c2c
chore: remove unused InfixOp enum 2022-12-09 22:35:38 +00:00
Ryan Chandler
df45b9f034
chore: fmt 2022-12-09 22:35:00 +00:00
Ryan Chandler
0ee981aed6
parser: separate infix operations into new expressions (#188) 2022-12-09 22:34:29 +00:00
Saif Eddin Gmati
c93634a62b
chore: refactor class and trait ast (#189)
Signed-off-by: azjezz <azjezz@protonmail.com>

Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-09 22:05:03 +01:00
Ryan Chandler
aeb10f1777
parser: use separate expression for parenthesized expressions 2022-12-09 15:54:51 +00:00
William Desportes
eb79c25361
chore: add silverstripe framework to integration tests (#186) 2022-12-09 14:01:58 +00:00
Saif Eddin Gmati
5127b2116d
chore: refactor interface ast (#187)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-09 14:42:46 +01:00
Dominik Zogg
aea2b9cfee
chore: add chubbyphp framework to integration tests (#184) 2022-12-09 08:38:20 +01:00
Saif Eddin Gmati
89866d952c
chore: allow soft reserved keywords to be used as function names (#185)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-09 07:57:02 +01:00
azjezz
d3612edc5c
chore: fmt
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-09 06:49:49 +01:00
Ryan Chandler
cdf422bea8
chore: add wordpress to third party tests 2022-12-09 02:14:09 +00:00
Ryan Chandler
19e9fdf01b
chore: add composer to third party tests 2022-12-09 02:11:44 +00:00
Ryan Chandler
a2f4b37ace
chore: add symfony/polyfill to third party tests 2022-12-09 02:09:47 +00:00
Ryan Chandler
78479f5861
lexer: dont consume close tags in single line comments 2022-12-09 02:06:15 +00:00
Ryan Chandler
aefa6a89a8
chore: ignore Symfony upstream error 2022-12-09 01:55:47 +00:00
Ryan Chandler
54e2e4f8b7
parser: handle close tag at top-level 2022-12-09 01:54:01 +00:00
Ryan Chandler
e12abf8873
chore: skip purposeful syntax error in Laravel third party tests 2022-12-09 01:48:18 +00:00
Ryan Chandler
825577d18d
fix: better heredoc/nowdoc implementation (#183) 2022-12-09 01:44:20 +00:00
Saif Eddin Gmati
bd2023c3c4
chore: remove fallback expression parser (#181)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-08 21:34:16 +01:00
Ryan Chandler
00834ed3ff
parser: support blockless statements
Closes #33.
2022-12-08 19:32:13 +00:00
azjezz
2db9d4641b
chore: add true, false, and null as reserved keywords
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-08 18:59:35 +01:00
Saif Eddin Gmati
b72751d3c7
chore: remove tokens test (#180)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-08 18:47:54 +01:00
Saif Eddin Gmati
4d0cd75fa9
fix: fix parsing by_ref parameters (#179)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-08 18:07:03 +01:00
azjezz
8af0c1e3a1
fix: invalid rust toolchain on ci
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-08 18:00:43 +01:00
azjezz
4854c36d25
chore: update ci
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-08 17:50:21 +01:00
Saif Eddin Gmati
2659fdbebb
chore: test against more third party frameworks (#178)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-08 16:50:25 +01:00
Saif Eddin Gmati
e74d0ec18e
chore: refactor expression parser to avoid stack overflow issue (#177)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-08 15:49:54 +01:00
azjezz
ede98233c5
chore: fix tests
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 23:14:28 +01:00
azjezz
ad0623ed20
chore: remove Parser structure
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 23:11:37 +01:00
azjezz
8de571f97f
fix: don't allow static, parent, and self as expressions
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 21:00:35 +01:00
Ryan Chandler
aaafc612de
parser: move array item logic into separate fn 2022-12-07 17:33:37 +00:00
Saif Eddin Gmati
ab55a334d5
chore: inline some functions (#176) 2022-12-07 17:15:40 +00:00
Saif Eddin Gmati
39f5821b08
chore: start moving toward using functions (#175) 2022-12-07 16:59:10 +00:00
Saif Eddin Gmati
a776f0a045
chore: split control flow statements, and array expressions parsers to their own functions (#174)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 17:05:22 +01:00
Saif Eddin Gmati
52b60e11f8
chore: separate source from state (#173)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 16:58:59 +01:00
azjezz
567532c84e
chore: remove just from CI
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 14:37:11 +01:00
azjezz
73fbc09114
ci: cache after installing deps
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 09:32:36 +01:00
azjezz
6d3be57cd9
chore: run third party tests in matrix
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 09:29:46 +01:00
azjezz
fc3230073e
chore: run integration tests for third party libraries one by one.
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 09:26:36 +01:00
azjezz
972fbfa046
chore: fix tests
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-07 09:01:54 +01:00
Ryan Chandler
3ae4555d81
chore: fmt 2022-12-07 01:02:04 +00:00
Ryan Chandler
054b10667b
parser: support bodyless while statements 2022-12-07 00:38:05 +00:00
Ryan Chandler
897a2a0131
parser: support one-liner if statements 2022-12-07 00:34:34 +00:00
Ryan Chandler
12c7c14c39
parser: support bodyless else statements 2022-12-07 00:28:30 +00:00
Ryan Chandler
385ff84e18
chore: add nikic/PHP-Parser to third party tests 2022-12-07 00:23:52 +00:00
Ryan Chandler
e7c83fe768
feature: allow opening / closing tags in middle of scripting code (#172) 2022-12-07 00:20:11 +00:00
Ryan Chandler
f17fd22cdb
fix: store integers and floats as ByteStrings with notation (#170) 2022-12-06 18:13:45 +00:00
Ryan Chandler
d85b682d4f
fix: allow self/parent as identifier 2022-12-06 16:55:34 +00:00