Nikita Popov
c58079b4fd
Port static vars
...
Need to figure out the constant expr stuff
2014-07-12 17:00:53 +02:00
Nikita Popov
86a1cd0d82
Verious fixes
2014-07-12 16:25:47 +02:00
Nikita Popov
8577f58e52
Store (bad) estimate of lineno with ast
...
Currently not used yet
2014-07-12 14:03:42 +02:00
Nikita Popov
e367e68111
Port try/catch
...
Down to 50 failing Zend tests
2014-07-12 13:50:58 +02:00
Nikita Popov
32ca08f249
Fix leak
2014-07-11 15:33:39 +02:00
Nikita Popov
dde9faee2e
Port switch
2014-07-11 15:31:47 +02:00
Nikita Popov
f12c1482a3
Port foreach
2014-07-11 12:16:21 +02:00
Nikita Popov
4215969904
Port if (partial)
2014-07-10 16:38:04 +02:00
Nikita Popov
3be63fca48
Port for
2014-07-10 15:51:47 +02:00
Nikita Popov
1738ee7e5a
Port do/while
2014-07-10 14:46:22 +02:00
Nikita Popov
c7656c06cc
Port while
...
Note: From here on everything is broken
2014-07-10 14:35:59 +02:00
Nikita Popov
68777b72b2
Expr stmts go through ast
2014-07-10 00:04:27 +02:00
Nikita Popov
1de1bc96a5
Make statement asty
2014-07-10 00:00:48 +02:00
Nikita Popov
117714d122
Port goto label
2014-07-09 23:46:22 +02:00
Nikita Popov
d14b763bb9
Make unticked_statement an ast node (usually NULL)
2014-07-09 23:39:21 +02:00
Nikita Popov
fc541418f2
Port goto
2014-07-09 23:11:32 +02:00
Nikita Popov
cc8a6fa91e
Port break/continue
2014-07-09 23:05:21 +02:00
Nikita Popov
5bf0c28fe3
Port throw
2014-07-09 22:48:42 +02:00
Nikita Popov
289265402a
Port echo
2014-07-07 21:14:14 +02:00
Nikita Popov
36c3cf3198
Port return statement
2014-07-07 21:06:02 +02:00
Nikita Popov
77fddc0ca2
Use zend_string* in some places
2014-07-05 00:11:00 +02:00
Nikita Popov
17c2d16d79
Refactor class name resolution as well
2014-07-04 23:45:20 +02:00
Nikita Popov
b3336270f6
Hack around global leak for now
2014-07-04 23:15:31 +02:00
Nikita Popov
fb98dd31a0
Some refactoring of fn/const resolution
2014-06-28 22:27:06 +02:00
Nikita Popov
e198132542
Drop addition of weird \ prefix for FQ consts
...
Also fixes a resolution bug
2014-06-28 18:24:59 +02:00
Nikita Popov
111ad71d38
Rename ZEND_CONST to ZEND_AST_ZVAL
2014-06-28 18:03:26 +02:00
Nikita Popov
64dab4b914
Drop dead code
2014-06-26 22:17:19 +02:00
Nikita Popov
0e44f4c583
Remove obseleted grammar productions
2014-06-26 22:09:05 +02:00
Nikita Popov
dd60c8e0f1
Reuse expr for static_scalar
2014-06-26 22:02:54 +02:00
Nikita Popov
dd60b9bb91
Handle ::class in const expr via ast as well
2014-06-26 21:44:46 +02:00
Nikita Popov
080e8bffa5
Compile const refs to CONST
2014-06-26 16:56:50 +02:00
Nikita Popov
b83c70416b
Compile class const refs to CONST zval
2014-06-26 16:35:30 +02:00
Nikita Popov
08c4e01a1b
Add compilation state for static scalars
2014-06-26 16:03:15 +02:00
Nikita Popov
1b84b87e78
Const eval unary pm (as previously)
2014-06-26 12:43:20 +02:00
Nikita Popov
e26c6d663a
Implement constant expression folding as a separate pass
2014-06-23 21:59:14 +02:00
Nikita Popov
0644fbccf7
Implement CT eval of binary expressions
...
I totally hate this approach. It's ugly and I don't think I can
share code with the static scalar evaluation. Maybe I should use
the approach that static scalars use instead?
2014-06-22 15:57:44 +02:00
Nikita Popov
90d36554e2
Support string interpolation
2014-06-21 20:06:46 +02:00
Nikita Popov
b6789b1dd6
zend_ast_dynamic_ast returns new node
2014-06-21 19:31:08 +02:00
Nikita Popov
86db3942cf
Remove dead code
2014-06-21 18:54:30 +02:00
Nikita Popov
657762ee2b
AST stage 2.4
2014-06-21 18:54:13 +02:00
Nikita Popov
0c81b3eae2
Remove dead code
2014-06-19 13:48:49 +02:00
Nikita Popov
0ec49bba22
AST stage 1.9
...
Expressions (mostly) use the AST
2014-06-19 13:48:35 +02:00
Nikita Popov
258a733ed2
AST-based compiler: Stage 1
2014-06-14 15:22:18 +02:00
Nikita Popov
98918fe65b
Remove (&ast->u.child)[i] weirdness
2014-06-06 22:35:21 +02:00
Nikita Popov
5c2120b6cf
Forbid writing to temporary expressions
2014-05-31 19:41:39 +02:00
Nikita Popov
c53a7ea4e5
Property handle calls on [] and '' consts/tmps
2014-05-31 17:37:30 +02:00
Nikita Popov
8a65c3b234
Remove now unnecessary code in begin_method_call
2014-05-31 16:08:38 +02:00
Nikita Popov
fcf42d817d
Remove object_stack (mostly)
2014-05-31 15:59:54 +02:00
Nikita Popov
87f8e758c8
Cleanup old grammar rules
2014-05-30 23:51:54 +02:00
Nikita Popov
a8c1595012
LTR static member access
2014-05-30 22:33:03 +02:00