Commit Graph

649 Commits

Author SHA1 Message Date
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
Ryan Chandler
72f2588509
chore: fmt 2022-12-06 15:41:24 +00:00
Ryan Chandler
7d153443f6
lexer&parser: make self and parent dedicated token kinds (#169) 2022-12-06 15:41:09 +00:00
Ryan Chandler
07b7cf9104
parser: disallow using positional arguments after named arguments (#168) 2022-12-06 15:40:58 +00:00
Saif Eddin Gmati
34b9f80e46
chore: avoid cloning tokens (#166)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-06 14:05:20 +01:00
azjezz
c02b4db78d chore: add benchmark to github actions
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-06 13:48:04 +01:00
Saif Eddin Gmati
452592b8fe
chore: small perf improvements for the lexer (#165)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-06 12:47:27 +01:00
Saif Eddin Gmati
a3e0614f30
chore: small changes regarding node span (#164) 2022-12-06 11:54:12 +01:00
Ryan Chandler
7750ed39e6
feature: add support for list expressions (#163) 2022-12-06 10:31:40 +00:00
azjezz
eed02aa4e2
chore: finish refactoring flags -> modifiers, and fix end span for functions and enums
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-06 09:51:13 +01:00
Saif Eddin Gmati
9a2a903fb9
chore: refactor ast (#162)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-06 09:33:29 +01:00
Ryan Chandler
2020c66cd8
lexer: fix escape sequences creating separate idents 2022-12-05 19:40:33 +00:00
Ryan Chandler
737d5fadf2
chore: skip a file because of HEREDOCS 2022-12-05 19:30:13 +00:00
Ryan Chandler
010fe7be26
lexer: use Err type for unrecognised tokens instead of unimplemented 2022-12-05 19:28:19 +00:00
Ryan Chandler
ae2f617700
chore: skip some comments 2022-12-05 19:25:40 +00:00
azjezz
c25fe105f9
chore: fix readme code
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 20:17:21 +01:00
azjezz
59fc4af394
fix: allow static closures to use self/static/parent types if they are within class scope
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 19:59:50 +01:00
azjezz
3b303acc02
fix: clone third-party libs to target/third-party
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 19:55:40 +01:00
azjezz
f92b8c4c73
fix improve dnf types parser
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 19:46:21 +01:00
azjezz
e23c80a3a3
fix: fix test
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 18:41:04 +01:00
azjezz
479f51913c
chore: remove build script
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 18:36:04 +01:00
Saif Eddin Gmati
b152b0e961
feat: keep track of variable and identifier positions (#160) 2022-12-05 17:53:41 +01:00
Ryan Chandler
26a856e8ec
parser: skip comments in param list 2022-12-05 14:50:19 +00:00
Ryan Chandler
5ae183cead
chore: skip some third party tests 2022-12-05 14:48:46 +00:00
Saif Eddin Gmati
3b196ae496
feat: group attributes and keep track of their position (#158)
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 15:14:20 +01:00
Ryan Chandler
c6a18d3950
chore: format 2022-12-05 14:05:07 +00:00
Ryan Chandler
b73c7ea9d1
fix: allow using semi reserved ident as argument name 2022-12-05 14:01:34 +00:00
Ryan Chandler
b1f10231e0
parser: allow passing array items by ref 2022-12-05 13:55:35 +00:00
Ryan Chandler
5815f65737
fix: various bits 2022-12-05 13:46:48 +00:00
Ryan Chandler
4c8c117114
chore: typo 2022-12-05 13:42:34 +00:00
Ryan Chandler
435a3aa12b
chore: temporarily skip some stuff 2022-12-05 13:39:59 +00:00
azjezz
45ab4cc955
chore: format integration tests
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 13:46:08 +01:00
azjezz
7ab417c801
fix: formatting
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 13:37:05 +01:00
azjezz
444e19b579 chore: replace Makefile with Justfile
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 13:33:05 +01:00
Ryan Chandler
4b73900b59
lexer: fix comment tokenization skipping next character 2022-12-05 12:23:31 +00:00
Ryan Chandler
aa9f33a726
parser: allow comma-separated expressions in for statements 2022-12-05 12:14:54 +00:00
Ryan Chandler
9ad4ee7bc8
chore: allow skipping certain files in third party tests 2022-12-05 11:59:28 +00:00
azjezz
209196ab12
chore: clean up makefile
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 13:00:02 +01:00
azjezz
e7be510d51
chore: make test target accept additional arguments
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 12:58:58 +01:00
azjezz
e3960994d0 chore: add makefile
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 12:56:08 +01:00
Ryan Chandler
2e68dd8f35
lexer: fix escape sequences in encapsed double quoted string 2022-12-05 11:50:44 +00:00
azjezz
3ab03bc3e1
fix: formatting
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-05 12:32:36 +01:00
Ryan Chandler
2d2ab36083
lexer&parser: support backtick (shell exec) strings
Closes #49
2022-12-05 09:57:45 +00:00
Ryan Chandler
b00aa3ae4b
fix: allow using include/require calls as expressions 2022-12-05 09:48:40 +00:00
Ryan Chandler
31d9cef5aa
fix: allow omitting semi colon before closing tag
Closes #156.
2022-12-05 09:38:23 +00:00