Commit Graph

647 Commits

Author SHA1 Message Date
Ryan Chandler
4b24d9e5d5
lexer: start adding some more token types 2022-07-20 21:33:59 +01:00
Ryan Chandler
24c145d16b
all: clippy 2022-07-20 20:55:01 +01:00
Ryan Chandler
d69463ac36
parser: support no-op / empty statement 2022-07-20 20:53:23 +01:00
Ryan Chandler
d78c27df70
docs: README 2022-07-20 20:36:39 +01:00
Ryan Chandler
8fa71ae6a7
docs: README 2022-07-20 20:35:03 +01:00
Ryan Chandler
fa4fa4b429
runtime: init 2022-07-20 20:13:34 +01:00
Ryan Chandler
92b457c87a
lexer: support more flags 2022-07-19 22:17:18 +01:00
Ryan Chandler
8b143869a8
phpast: output as json 2022-07-19 16:56:55 +01:00
Ryan Chandler
97c148e099
lexer+parser: support basic assoc arrays 2022-07-19 16:39:55 +01:00
Ryan Chandler
3430522e52
lexer+parser: basic support for lists 2022-07-19 16:37:32 +01:00
Ryan Chandler
e1fe663fc2
all: clippy 2022-07-19 16:32:21 +01:00
Ryan Chandler
2b2ec2253f
parser: basic class prop support with var 2022-07-19 15:58:20 +01:00
Ryan Chandler
2a62892738
parser: support expression statements 2022-07-19 15:53:34 +01:00
Ryan Chandler
fedc2c01ec
phpast: init 2022-07-19 15:29:20 +01:00
Ryan Chandler
33fc8c6b0e
parser: support class extends and implements 2022-07-19 15:13:53 +01:00
Ryan Chandler
a8a29a0e7c
lexer: extends and implements keywords 2022-07-19 15:06:21 +01:00
Ryan Chandler
ad6ddb4c5c
meta: run_tests 2022-07-19 14:45:07 +01:00
Ryan Chandler
3a618d2a9e
chore: disable doc tests 2022-07-19 14:43:25 +01:00
Ryan Chandler
dce6245df8
lexer: support else and elseif tokens 2022-07-19 14:35:00 +01:00
Ryan Chandler
3b5f0ac885
parser: store spans in errors 2022-07-19 14:21:28 +01:00
Ryan Chandler
5186d4e138
lexer: track line number and columns 2022-07-19 14:13:02 +01:00
Ryan Chandler
5b97f54ad4
parser: refactor to use a borrow friendly structure 2022-07-19 13:50:14 +01:00
Ryan Chandler
88edf3f8f5
lexer: equals tokens 2022-07-19 12:56:13 +01:00
Ryan Chandler
cfa199e81e
parser: class methods with visibility 2022-07-19 12:04:40 +01:00
Ryan Chandler
aed95d9036
parser: add statement to class method test 2022-07-19 11:51:11 +01:00
Ryan Chandler
20f957083a
parser: class definition with basic method 2022-07-19 11:49:52 +01:00
Ryan Chandler
040663698c
parser: support empty class definitions 2022-07-19 11:43:33 +01:00
Ryan Chandler
cc8fcf4105
parser: simplify structure 2022-07-19 11:32:57 +01:00
Ryan Chandler
248ed14672
lexer: support class and visibility modifiers 2022-07-19 11:32:11 +01:00
Ryan Chandler
37c6401a5e
wip 2022-07-19 11:30:23 +01:00
Ryan Chandler
d6479ca193
meta: version script 2022-07-16 22:10:00 +01:00
Ryan Chandler
bd14f8b8ad
compiler: init 2022-07-16 21:47:54 +01:00
Ryan Chandler
437360d298
ci: override toolchain settings 2022-07-16 20:47:22 +01:00
Ryan Chandler
fd19dd7022
ci: use cargo nightly 2022-07-16 20:45:54 +01:00
Ryan Chandler
2ae0275887
ci: tests 2022-07-16 20:45:04 +01:00
Ryan Chandler
ce70d1f550
all: clippy 2022-07-16 20:42:45 +01:00
Ryan Chandler
4f5800df88
parser: expect semi-colon after empty return 2022-07-16 18:47:55 +01:00
Ryan Chandler
07f06db11d
parser: correctly parse a basic recursive fib function 2022-07-16 18:11:35 +01:00
Ryan Chandler
ab3b9f8187
parser: empty functions with params 2022-07-16 16:31:25 +01:00
Ryan Chandler
149e65087b
parser: init 2022-07-16 14:57:22 +01:00
Ryan Chandler
58d95204a7
lexer: return token 2022-07-16 14:55:08 +01:00
Ryan Chandler
b2f32fff7a
lexer: basic integer support 2022-07-16 14:53:51 +01:00
Ryan Chandler
3162e01bce
lexer: variables 2022-07-16 14:48:21 +01:00
Ryan Chandler
cdfff5210b
lexer: punctuation and math ops 2022-07-16 14:29:21 +01:00
Ryan Chandler
3178a53680
lexer: basic identifier tokens and keywords 2022-07-16 14:24:27 +01:00
Ryan Chandler
25bda5af6f
lexer: rough state machine for lexing inline and scripting tokens 2022-07-16 14:14:03 +01:00
Ryan Chandler
01ffc627b9
init 2022-07-16 12:40:16 +01:00