Ryan Chandler
|
82702d4070
|
phpc: goodbye
I'm removing the original phpc prototype and will be reimplementing a better
version as the Trunk Compiler project.
|
2022-08-04 20:07:25 +01:00 |
|
Ryan Chandler
|
2cad6fde6a
|
parser: allow forcing param, prop and return types
|
2022-08-04 13:37:08 +01:00 |
|
Ryan Chandler
|
b2db93efc1
|
parser: expect colons
|
2022-08-04 13:22:47 +01:00 |
|
Ryan Chandler
|
1a7447de4b
|
parser: introduce new ParserConfig
|
2022-08-04 13:21:14 +01:00 |
|
Ryan Chandler
|
431d449f10
|
parser+lexer: support switch statements
Closes #4.
|
2022-08-04 10:53:41 +01:00 |
|
Ryan Chandler
|
65fa165ba8
|
parser+lexer: support try/catch/finally statements
Closes #17.
|
2022-08-04 00:41:27 +01:00 |
|
Ryan Chandler
|
b254e59bde
|
parser+lexer: support match expressions
Closes #16.
|
2022-08-04 00:21:10 +01:00 |
|
Ryan Chandler
|
1a7aae97d9
|
parser: move Expression enum to struct format instead of tuple
Closes #11.
|
2022-08-04 00:03:50 +01:00 |
|
Ryan Chandler
|
d602902d7b
|
parser: make Assign an InfixOp instead of expression type
Closes #14
|
2022-08-03 20:50:07 +01:00 |
|
Ryan Chandler
|
5eca385a9a
|
parser: abstract out optional comma logic
|
2022-08-03 13:51:20 +01:00 |
|
Ryan Chandler
|
3cf8f44d57
|
phpc: remove binary
|
2022-08-02 13:32:14 +01:00 |
|
Ryan Chandler
|
38bf05f9f7
|
lexer: produce doc comments
|
2022-08-02 00:14:24 +01:00 |
|
Ryan Chandler
|
336ae90a18
|
wip
|
2022-08-01 14:14:17 +01:00 |
|
Ryan Chandler
|
83aee4d171
|
phpc: compile conditionals, assignments and native fns
|
2022-08-01 14:13:53 +01:00 |
|
Ryan Chandler
|
8d1394bd3d
|
phpc: blog post and complete overhaul
|
2022-07-31 02:37:10 +01:00 |
|
Ryan Chandler
|
13d0281897
|
misc: remove binary file
|
2022-07-30 12:32:40 +01:00 |
|
Ryan Chandler
|
223df961ce
|
rs: experiment with a PHP to Rust to binary compiler
|
2022-07-29 16:32:25 +01:00 |
|
Ryan Chandler
|
212a46b2ac
|
lexer: produce increment tokens
|
2022-07-28 20:18:08 +01:00 |
|
Ryan Chandler
|
129b4f9626
|
parser: support lte/gte ops
|
2022-07-28 20:15:22 +01:00 |
|
Ryan Chandler
|
0322e3c805
|
parser: support normal for statements
|
2022-07-28 20:13:08 +01:00 |
|
Ryan Chandler
|
22d8cc332c
|
parser: support add assign operator
|
2022-07-28 20:07:40 +01:00 |
|
Ryan Chandler
|
67a26ae78f
|
parser: support clone expressions
|
2022-07-28 20:05:04 +01:00 |
|
Ryan Chandler
|
ad4f005511
|
parser: support null coalescing operator expressions (kinda)
|
2022-07-28 20:02:11 +01:00 |
|
Ryan Chandler
|
81199e5d5d
|
parser: support long ternary expressions
|
2022-07-28 19:45:00 +01:00 |
|
Ryan Chandler
|
ed12a5c5f3
|
parser: add missing default param to tests
|
2022-07-28 19:36:55 +01:00 |
|
Ryan Chandler
|
8a515e760f
|
parser: support greater than
|
2022-07-28 19:36:06 +01:00 |
|
Ryan Chandler
|
8f5a00b16d
|
lexer: fix fq identifiers and boolean or token
|
2022-07-28 17:53:05 +01:00 |
|
Ryan Chandler
|
d903fc5d79
|
parser&lexer: support for various things found in a Laravel app
|
2022-07-28 17:38:09 +01:00 |
|
Ryan Chandler
|
16283d1273
|
parser: support equals/identical and not variant expressions
|
2022-07-28 17:01:40 +01:00 |
|
Ryan Chandler
|
d955cd28da
|
parser: support prefix expressions like !
|
2022-07-28 16:08:14 +01:00 |
|
Ryan Chandler
|
08e7c99f25
|
parser: remove unneccessary FunctionKind enum
|
2022-07-28 15:55:13 +01:00 |
|
Ryan Chandler
|
151e0d90c3
|
parser: support null constant
|
2022-07-28 15:53:47 +01:00 |
|
Ryan Chandler
|
a6fc1b58f1
|
parser: reorganise poor expression handling
|
2022-07-28 15:52:45 +01:00 |
|
Ryan Chandler
|
30afcce2d5
|
parser: support array indexing
|
2022-07-28 15:44:46 +01:00 |
|
Ryan Chandler
|
ea1365c77d
|
parser: support true/false (bool) expressions
|
2022-07-28 14:45:05 +01:00 |
|
Ryan Chandler
|
39c7d9887d
|
parser: support static method calls, property fetches and constants
|
2022-07-28 14:42:14 +01:00 |
|
Ryan Chandler
|
d5bef4e2ae
|
lexer: produce double colon tokens
|
2022-07-28 14:07:44 +01:00 |
|
Ryan Chandler
|
fc731c468d
|
parser: ensure function statements only parse when followed by an ident
Closes #12
|
2022-07-28 13:53:46 +01:00 |
|
Ryan Chandler
|
b4e11bd6bd
|
parser: support use list in closures
|
2022-07-28 13:38:16 +01:00 |
|
Ryan Chandler
|
6ba2532af6
|
parser: manually parse closures
|
2022-07-28 13:30:31 +01:00 |
|
Ryan Chandler
|
abd1559f31
|
parser: support foreach statements
|
2022-07-28 12:29:44 +01:00 |
|
Ryan Chandler
|
98fbc20291
|
all: clippy
|
2022-07-28 01:06:31 +01:00 |
|
Ryan Chandler
|
479b323cd9
|
parser: support variadic function params
Closes #9
|
2022-07-28 01:04:20 +01:00 |
|
Ryan Chandler
|
a502c21a7f
|
parser: ident method docs for clarity
|
2022-07-28 00:48:31 +01:00 |
|
Ryan Chandler
|
b4f8b1bf00
|
parser: abstract var for consistency
|
2022-07-28 00:47:15 +01:00 |
|
Ryan Chandler
|
d4cae32474
|
parser: abstract name and fqn into methods for consistency
|
2022-07-28 00:45:47 +01:00 |
|
Ryan Chandler
|
fc1309953e
|
parser: abstract lparen and rparen for consistency
|
2022-07-28 00:42:24 +01:00 |
|
Ryan Chandler
|
161bd9efed
|
parser: abstract ident method for consistency
|
2022-07-28 00:40:45 +01:00 |
|
Ryan Chandler
|
9f91261298
|
parser: abstract lbrace and rbrace methods for consistency
|
2022-07-28 00:36:41 +01:00 |
|
Ryan Chandler
|
ccc154656f
|
parser: abstract a semi colon method for consistency
|
2022-07-28 00:34:41 +01:00 |
|