Commit Graph

329 Commits

Author SHA1 Message Date
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
1c90b5e907
Merge pull request #68 from ryangjchandler/fix/backed-enums-without-values 2022-09-13 12:16:15 +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
5eefe38ec0
Merge pull request #65 from ryangjchandler/feature/readonly-properties 2022-09-13 12:09:51 +01:00
Ryan Chandler
4f64297907
parser: support readonly class properties 2022-09-13 12:08:41 +01:00
Ryan Chandler
736964de7a
Merge pull request #64 from ryangjchandler/feature/readonly-classes 2022-09-13 12:03:19 +01:00
Ryan Chandler
5e91a16175
parser: support readonly classes 2022-09-13 12:02:20 +01:00
Ryan Chandler
f79a1adf95
Merge pull request #63 from edsrzf/switch-case-semicolon 2022-09-13 12:00:42 +01:00
Evan Shaw
032d5539e8 Switch cases can be terminated with semicolons 2022-09-13 22:53:07 +12:00
Ryan Chandler
321e49f191
Merge pull request #62 from ryangjchandler/feature/top-level-multi-const 2022-09-13 11:51:12 +01:00
Ryan Chandler
48236ceb9e
parser: add support for multiple constants in one statement 2022-09-13 11:50:40 +01:00
Ryan Chandler
d70b2685ff
Merge pull request #61 from ryangjchandler/fix/empty-array-items 2022-09-13 11:42:57 +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
Ryan Chandler
c023468c0d
Merge pull request #57 from edsrzf/byte-lexer 2022-09-13 11:33:49 +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
843a00c523 Add ByteString type 2022-09-13 22:03:09 +12:00
Evan Shaw
f0fc4f190d Add a test case for non-UTF-8 variable name 2022-09-13 20:22:11 +12:00
Evan Shaw
f345389c32 Allow lexer to accept bytes as input 2022-09-13 17:19:47 +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
2521727a6e
Merge pull request #56 from ryangjchandler/feature/basic-declare-support 2022-09-13 01:01:25 +01: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
980b1c1d9c
Merge pull request #55 from ryangjchandler/feature/global-statement 2022-09-13 00:47:52 +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
622677ebdd
Merge pull request #54 from ryangjchandler/feature/top-level-constants 2022-09-13 00:40:57 +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
9358503d3f
Merge pull request #53 from ryangjchandler/fix/catch-without-variable 2022-09-13 00:33:27 +01:00
Ryan Chandler
55d94b70fa
parser: support catch conditions without variables 2022-09-13 00:32:07 +01:00
Ryan Chandler
b070f7b07b
Merge pull request #52 from ryangjchandler/fix/nullsafe-property-fetch 2022-09-13 00:27:14 +01:00
Ryan Chandler
89c96f13e8
chore: format 2022-09-13 00:26:59 +01:00
Ryan Chandler
1e94b05ba6
lexer: fix nullsafe arrow token skipping too many characters 2022-09-13 00:25:59 +01:00
Ryan Chandler
948c2cf561
Merge pull request #40 from ryangjchandler/feature/error-suppress-expression 2022-09-12 15:17:21 +01:00
Ryan Chandler
d85913665f
chore: format 2022-09-12 15:16:07 +01:00
Ryan Chandler
fb8915819d
parser: support for error suppress expressions 2022-09-12 15:15:18 +01:00
Ryan Chandler
5496276f60
Merge pull request #39 from ryangjchandler/fix/parse-more-complex-types 2022-09-12 13:01:03 +01:00
Ryan Chandler
04d9c3be55
chore: format 2022-09-12 13:00:17 +01:00
Ryan Chandler
9953be3ab1
parser: add special Type::Void case 2022-09-12 12:48:52 +01:00