Ryan Chandler
eb04872279
lexer&parser: full heredoc/nowdoc support ( #154 )
2022-12-05 00:04:09 +00:00
Saif Eddin Gmati
b6c145f98e
fix: attributes support ( #155 )
...
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-04 16:12:23 +01:00
Saif Eddin Gmati
75110ff0dc
fix: formatting ( #153 )
2022-12-04 14:09:46 +01:00
Ryan Chandler
ce29038f2d
fix: allow using null as top level function name
2022-12-04 09:59:28 +00:00
Ryan Chandler
0d9e7ae40c
wip
2022-12-04 09:53:39 +00:00
Ryan Chandler
63446c2b45
parser: support basic heredocs
2022-12-04 09:53:39 +00:00
Ryan Chandler
79a9b07b3c
refactor: abstract string part parsing
2022-12-04 09:53:39 +00:00
Ryan Chandler
6e13626ac7
wip
2022-12-04 09:53:38 +00:00
Saif Eddin Gmati
4904a84a62
fix: parse sum types correctly ( #151 )
2022-12-04 09:53:18 +00:00
Saif Eddin Gmati
a6e86e452a
fix: make sure unbraced namespaces don't get nested ( #149 )
2022-12-04 09:12:19 +00:00
Saif Eddin Gmati
5c92f7fff6
fix: support scoped types
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
496d25eb69
fix: don't allow multiple default arms for match expression
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
626e3ff28b
fix: multiple issues regarding optional comma
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
6c27fc8599
fix: use by reference in anonymous functions ( #10 )
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
848da45855
fix: require comma between parameters
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
e3146c2066
fix: make sure that properties have the correct type
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
974c04db85
fix: namespace parser
...
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
1f4875c802
fix: properties parser
...
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
c098715da6
fix: enum parser
...
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
4299fa7221
feat: add parser state scope
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
77ff227bc0
feat: make parser, and lexer immutable
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
bdef34b4b4
chore: don't use class member flags for interface member flags
...
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
ac42958b4f
chore: refactor project structure
...
- added `prelude`
- moved `ast` to `parser`
- moved `Lexer` from `crate::lexer::lexer::Lexer` to `crate::lexer::Lexer`
- renamed `LexerError` to `SyntaxError`
- moved `SyntaxError` to `token::error`
- implemented `Display` for `SyntaxError`
- add `tokens.txt` to integration tests
- removed all unit tests for `Lexer` ( everything is tested in integration tests )
- improved syntax error assertations
2022-12-04 08:56:53 +00:00
Saif Eddin Gmati
22dd9db6e7
chore: don't allow reserved keywords to stand for function name ( #146 )
...
Signed-off-by: azjezz <azjezz@protonmail.com>
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-11-30 22:51:52 +00:00
Ryan Chandler
be1ac39824
chore: README
2022-11-30 14:43:25 +00:00
Ryan Chandler
2f3b663419
chore: README
2022-11-30 14:42:44 +00:00
Saif Eddin Gmati
903ccc5666
chore: refactor classish parsers ( #141 )
2022-11-30 14:38:07 +00:00
Ryan Chandler
1551dcb2df
parser: allow reserved ident as interface method names
2022-11-30 01:00:48 +00:00
Ryan Chandler
9a2109b31d
chore: fmt
2022-11-30 00:58:30 +00:00
Ryan Chandler
29946919ad
parser: allow from as reserved ident
2022-11-30 00:58:22 +00:00
Ryan Chandler
490648514a
parser: skip comments after a statement in block for now
2022-11-30 00:56:56 +00:00
Ryan Chandler
92cc015d69
parser: skip comments above enum cases for now
2022-11-30 00:54:14 +00:00
Ryan Chandler
e25b501cfc
parser: allow static on lhs of static call
2022-11-30 00:53:00 +00:00
Ryan Chandler
4178947be8
parser: allow reserved idents in static method calls
2022-11-30 00:48:34 +00:00
Ryan Chandler
a069fa2a8a
chore: move all parser tests into code files ( #139 )
2022-11-30 00:43:37 +00:00
Ryan Chandler
5f9489117b
parser: allow readonly in promoted constructor properties
2022-11-30 00:40:37 +00:00
Ryan Chandler
19213d2d05
parser: skip comments above trait statements
2022-11-30 00:40:37 +00:00
Ryan Chandler
9e441143c5
parser: allow null as a type in property union
2022-11-30 00:40:36 +00:00
Ryan Chandler
e21b6a40ef
lexer: produce correct token for single !
2022-11-30 00:40:36 +00:00
Ryan Chandler
c372b9e9bd
parser: support class constant fetches
2022-11-30 00:40:36 +00:00
Ryan Chandler
8cf226a35d
parser: allow reserved words in class method names
2022-11-30 00:40:36 +00:00
Saif Eddin Gmati
5d95a8985c
chore: update test script ( #140 )
2022-11-30 00:39:02 +00:00
Saif Eddin Gmati
3df5a46eeb
chore: test against third party libraries ( #138 )
2022-11-30 00:17:34 +00:00
Saif Eddin Gmati
558ce71563
feat: add test generator ( #134 )
...
Co-authored-by: Ryan Chandler <ryangjchandler@gmail.com>
closes https://github.com/ryangjchandler/php-parser-rs/issues/130
2022-11-29 23:19:51 +00:00
Saif Eddin Gmati
0e04f157f7
chore: consistent naming ( #135 )
...
Signed-off-by: azjezz <azjezz@protonmail.com>
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-11-29 21:25:17 +00:00
Saif Eddin Gmati
8640b753d1
re-license under MIT or APACHE-2.0 ( #137 )
...
* re-license under MIT or APACHE-2.0
Signed-off-by: azjezz <azjezz@protonmail.com>
* Update README.md
Signed-off-by: azjezz <azjezz@protonmail.com>
Co-authored-by: Ryan Chandler <ryangjchandler@gmail.com>
2022-11-29 21:22:42 +00:00
Saif Eddin Gmati
017b2e19c3
chore: use new integration test runner instead of assert_ast() ( #127 )
...
Signed-off-by: azjezz <azjezz@protonmail.com>
Signed-off-by: azjezz <azjezz@protonmail.com>
2022-11-29 01:33:01 +00:00
Saif Eddin Gmati
adac1d7171
chore: better parser errors ( #126 )
2022-11-29 00:46:05 +00:00
Ryan Chandler
00577e13b9
parser: add support for trait adaptations ( #123 )
2022-11-28 20:50:37 +00:00
Saif Eddin Gmati
37d0761ff8
fix: formatting ( #124 )
2022-11-28 18:11:45 +00:00