Commit Graph

574 Commits

Author SHA1 Message Date
Evan Shaw
446b984376 lexer: error on unterminated strings 2022-09-16 07:27:31 +12:00
Ryan Chandler
356748d633
Merge pull request #88 from edsrzf/lexer-rework-position 2022-09-15 12:38:01 +01:00
Evan Shaw
353412a85a lexer: fully qualified identifier test 2022-09-15 22:12:02 +12:00
Evan Shaw
0e5499ebc8 lexer: re-work position tracking
Now span refers to the start of a token and position is tracked inside
the next method.
2022-09-15 22:07:50 +12:00
Ryan Chandler
b1c811a9d4
Merge pull request #87 from ryangjchandler/feature/true-false-null-return-types 2022-09-15 01:27:29 +01:00
Ryan Chandler
e5dfb3a7e6
chore: format 2022-09-15 01:26:30 +01:00
Ryan Chandler
7fcd34c037
parser: support false as a return type 2022-09-15 01:24:41 +01:00
Ryan Chandler
0f53506f94
parser: support true as a type string 2022-09-15 01:24:04 +01:00
Ryan Chandler
ebd93090fa
parser: support null as a type 2022-09-15 01:23:21 +01:00
Ryan Chandler
39ab4fbb0a
Merge pull request #86 from ryangjchandler/feature/goto-labels 2022-09-15 01:18:50 +01:00
Ryan Chandler
4f795e94bc
chore: format 2022-09-15 01:17:48 +01:00
Ryan Chandler
7bac78f039
parser: support label statements 2022-09-15 01:17:41 +01:00
Ryan Chandler
1f0cd664da
parser/lexer: add support for goto statements 2022-09-15 01:15:52 +01:00
Ryan Chandler
8b27266f05
Merge pull request #85 from ryangjchandler/feature/first-class-callables 2022-09-15 01:10:26 +01:00
Ryan Chandler
1643b8b122
chore: format 2022-09-15 01:09:19 +01:00
Ryan Chandler
17b37157ce
parser: support first class callables on static method calls 2022-09-15 01:06:42 +01:00
Ryan Chandler
8d6ad8ec0a
parser: support first class callables on method calls 2022-09-15 01:05:33 +01:00
Ryan Chandler
bada341e02
parser: support first class callables on functions 2022-09-15 01:03:21 +01:00
Ryan Chandler
63b0164837
Merge pull request #83 from ryangjchandler/fix/static-arrow-functions 2022-09-15 00:56:11 +01:00
Ryan Chandler
9e17eaff14
chore: format 2022-09-15 00:55:09 +01:00
Ryan Chandler
81f5719fd5
parser: add test case for static arrow functions returning by ref 2022-09-15 00:54:12 +01:00
Ryan Chandler
05aff40752
parser: add support for static arrow functions 2022-09-15 00:53:33 +01:00
Ryan Chandler
cddeff2901
Merge pull request #82 from ryangjchandler/feature/references-in-loops-and-functions 2022-09-15 00:50:02 +01:00
Ryan Chandler
17a48e3ce2
chore: format 2022-09-15 00:48:59 +01:00
Ryan Chandler
4338b83254
parser: support arrow functions returning by ref 2022-09-15 00:47:51 +01:00
Ryan Chandler
af11ff39c8
parser: add test for static closures returning by ref 2022-09-15 00:46:13 +01:00
Ryan Chandler
95dbc4416e
parser: support closures returning by ref 2022-09-15 00:45:33 +01:00
Ryan Chandler
630ad85f34
parser: support named functions returning refs 2022-09-15 00:42:28 +01:00
Ryan Chandler
2d09a251d3
parser: support function params being marked as refs 2022-09-15 00:15:31 +01:00
Ryan Chandler
17c5307e4f
parser: add test cases for foreach refs 2022-09-15 00:09:01 +01:00
Ryan Chandler
b237f2b7d7
Merge pull request #81 from ryangjchandler/feature/static-closures 2022-09-15 00:05:31 +01:00
Ryan Chandler
0145e58834
parser: support static closures 2022-09-15 00:04:27 +01:00
Ryan Chandler
0146d3e1d1
Merge pull request #80 from ryangjchandler/feature/halt-compiler 2022-09-14 23:57:11 +01:00
Ryan Chandler
7e7fd8a24d
parser/lexer: support __halt_compiler token 2022-09-14 23:55:42 +01:00
Ryan Chandler
8f520732e2
Merge pull request #79 from ryangjchandler/feature/braced-global-namespace 2022-09-14 23:39:02 +01:00
Ryan Chandler
f7ae8fb868
feature: support global braced namespace 2022-09-14 23:37:47 +01:00
Ryan Chandler
3ab37c219f
Merge pull request #78 from edsrzf/lexer-refactor 2022-09-14 23:27:04 +01:00
Evan Shaw
4cb19078c4 lexer: rename peek to peek_buf 2022-09-15 09:45:13 +12:00
Evan Shaw
ebd3798a24 lexer: remove char variable from tokenize 2022-09-15 09:45:05 +12:00
Evan Shaw
cbed61165f lexer: Rework lookahead 2022-09-15 09:45:00 +12:00
Evan Shaw
fd118ea0da lexer: simplify try_read 2022-09-15 07:57:45 +12:00
Evan Shaw
b6de94cd1e lexer: move larger match cases to separate methods 2022-09-15 07:57:45 +12:00
Ryan Chandler
ba73ddbac3
all: clippy 2022-09-14 12:04:38 +01:00
Ryan Chandler
53921a1207
Merge pull request #41 from ryangjchandler/refactor/operator-precedence 2022-09-14 12:02:52 +01:00
Ryan Chandler
16af78d56d
chore: format 2022-09-14 12:01:30 +01:00
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