]> granicus.if.org Git - php/log
php
11 years ago__autoload error
Nikita Popov [Sat, 19 Jul 2014 10:57:31 +0000 (12:57 +0200)]
__autoload error

11 years agoPort methods
Nikita Popov [Sat, 19 Jul 2014 10:52:44 +0000 (12:52 +0200)]
Port methods

The duplicated magic method checks are ugly

11 years agoCleanup
Nikita Popov [Fri, 18 Jul 2014 18:24:44 +0000 (20:24 +0200)]
Cleanup

11 years agozend_emit_jump and zend_emit_cond_jump
Nikita Popov [Fri, 18 Jul 2014 17:57:38 +0000 (19:57 +0200)]
zend_emit_jump and zend_emit_cond_jump

11 years agozend_update_jump_target
Nikita Popov [Fri, 18 Jul 2014 14:11:43 +0000 (16:11 +0200)]
zend_update_jump_target

11 years agoRemove bits of dead code
Nikita Popov [Fri, 18 Jul 2014 13:53:38 +0000 (15:53 +0200)]
Remove bits of dead code

11 years agoSupport static closures
Nikita Popov [Fri, 18 Jul 2014 13:47:46 +0000 (15:47 +0200)]
Support static closures

11 years agoHandle function doc comments
Nikita Popov [Fri, 18 Jul 2014 13:23:16 +0000 (15:23 +0200)]
Handle function doc comments

11 years agoFix lexer/compiler interdependency
Nikita Popov [Fri, 18 Jul 2014 13:05:31 +0000 (15:05 +0200)]
Fix lexer/compiler interdependency

11 years agoUse dedicated func_decl ast node
Nikita Popov [Fri, 18 Jul 2014 12:57:00 +0000 (14:57 +0200)]
Use dedicated func_decl ast node

Functions need a bunch of extra info, that becomes inconvenient
to handle using the normal ast structure.

11 years agoSmall cleanup
Nikita Popov [Fri, 18 Jul 2014 11:15:58 +0000 (13:15 +0200)]
Small cleanup

Current problem: build_runtime_defined_function_key is lexer
coupled

11 years agoPort closures
Nikita Popov [Fri, 18 Jul 2014 10:58:24 +0000 (12:58 +0200)]
Port closures

11 years agoPort closure use
Nikita Popov [Fri, 18 Jul 2014 10:30:39 +0000 (12:30 +0200)]
Port closure use

11 years agoLineno corrections
Nikita Popov [Wed, 16 Jul 2014 21:27:27 +0000 (23:27 +0200)]
Lineno corrections

11 years agoPort __METHOD__
Nikita Popov [Wed, 16 Jul 2014 21:23:25 +0000 (23:23 +0200)]
Port __METHOD__

11 years agoPort __FUNCTION__ to AST
Nikita Popov [Wed, 16 Jul 2014 21:10:16 +0000 (23:10 +0200)]
Port __FUNCTION__ to AST

11 years agoPreliminary function decl support
Nikita Popov [Tue, 15 Jul 2014 22:06:41 +0000 (00:06 +0200)]
Preliminary function decl support

Problem: __FUNCTION__ etc don't work anymore, due to lexer/parser
interdependency.

11 years agoPort parameter defs
Nikita Popov [Mon, 14 Jul 2014 21:03:53 +0000 (23:03 +0200)]
Port parameter defs

Has one bug re \self

11 years agoRename params -> args
Nikita Popov [Sun, 13 Jul 2014 11:11:55 +0000 (13:11 +0200)]
Rename params -> args

11 years agoMoar removal
Nikita Popov [Sat, 12 Jul 2014 17:20:21 +0000 (19:20 +0200)]
Moar removal

11 years agoRemove more dead code
Nikita Popov [Sat, 12 Jul 2014 17:18:09 +0000 (19:18 +0200)]
Remove more dead code

11 years agoRemove dead code
Nikita Popov [Sat, 12 Jul 2014 17:10:19 +0000 (19:10 +0200)]
Remove dead code

11 years agoFix + improve try/catch
Nikita Popov [Sat, 12 Jul 2014 17:08:09 +0000 (19:08 +0200)]
Fix + improve try/catch

11 years agoapprox correct linenos in errors
Nikita Popov [Sat, 12 Jul 2014 15:10:10 +0000 (17:10 +0200)]
approx correct linenos in errors

11 years agoPort static vars
Nikita Popov [Sat, 12 Jul 2014 15:00:53 +0000 (17:00 +0200)]
Port static vars

Need to figure out the constant expr stuff

11 years agoVerious fixes
Nikita Popov [Sat, 12 Jul 2014 14:25:47 +0000 (16:25 +0200)]
Verious fixes

11 years agoStore (bad) estimate of lineno with ast
Nikita Popov [Sat, 12 Jul 2014 12:03:42 +0000 (14:03 +0200)]
Store (bad) estimate of lineno with ast

Currently not used yet

11 years agoPort try/catch
Nikita Popov [Sat, 12 Jul 2014 11:50:58 +0000 (13:50 +0200)]
Port try/catch

Down to 50 failing Zend tests

11 years agoFix leak
Nikita Popov [Fri, 11 Jul 2014 13:33:39 +0000 (15:33 +0200)]
Fix leak

11 years agoPort switch
Nikita Popov [Fri, 11 Jul 2014 13:31:47 +0000 (15:31 +0200)]
Port switch

11 years agoPort foreach
Nikita Popov [Fri, 11 Jul 2014 10:16:21 +0000 (12:16 +0200)]
Port foreach

11 years agoMake inner_statement_list asty
Nikita Popov [Thu, 10 Jul 2014 21:04:42 +0000 (23:04 +0200)]
Make inner_statement_list asty

11 years agoPort if (partial)
Nikita Popov [Thu, 10 Jul 2014 14:38:04 +0000 (16:38 +0200)]
Port if (partial)

11 years agoPort for
Nikita Popov [Thu, 10 Jul 2014 13:51:47 +0000 (15:51 +0200)]
Port for

11 years agoSupport creating of ast nodes with >3 children
Nikita Popov [Thu, 10 Jul 2014 13:18:08 +0000 (15:18 +0200)]
Support creating of ast nodes with >3 children

11 years agoPort do/while
Nikita Popov [Thu, 10 Jul 2014 12:46:22 +0000 (14:46 +0200)]
Port do/while

11 years agoPort while
Nikita Popov [Thu, 10 Jul 2014 12:35:59 +0000 (14:35 +0200)]
Port while

Note: From here on everything is broken

11 years agoExpr stmts go through ast
Nikita Popov [Wed, 9 Jul 2014 22:04:27 +0000 (00:04 +0200)]
Expr stmts go through ast

11 years agoMake statement asty
Nikita Popov [Wed, 9 Jul 2014 22:00:48 +0000 (00:00 +0200)]
Make statement asty

11 years agoPort goto label
Nikita Popov [Wed, 9 Jul 2014 21:46:22 +0000 (23:46 +0200)]
Port goto label

11 years agoMake unticked_statement an ast node (usually NULL)
Nikita Popov [Wed, 9 Jul 2014 21:39:21 +0000 (23:39 +0200)]
Make unticked_statement an ast node (usually NULL)

11 years agoPort goto
Nikita Popov [Wed, 9 Jul 2014 21:11:32 +0000 (23:11 +0200)]
Port goto

11 years agoPort break/continue
Nikita Popov [Wed, 9 Jul 2014 21:05:21 +0000 (23:05 +0200)]
Port break/continue

11 years agoPort throw
Nikita Popov [Wed, 9 Jul 2014 20:47:36 +0000 (22:47 +0200)]
Port throw

11 years agoPort echo
Nikita Popov [Mon, 7 Jul 2014 19:14:14 +0000 (21:14 +0200)]
Port echo

11 years agoPort return statement
Nikita Popov [Mon, 7 Jul 2014 19:06:02 +0000 (21:06 +0200)]
Port return statement

11 years agoUse zend_string* in some places
Nikita Popov [Fri, 4 Jul 2014 22:11:00 +0000 (00:11 +0200)]
Use zend_string* in some places

11 years agoRefactor class name resolution as well
Nikita Popov [Fri, 4 Jul 2014 21:45:20 +0000 (23:45 +0200)]
Refactor class name resolution as well

11 years agoHack around global leak for now
Nikita Popov [Fri, 4 Jul 2014 21:15:31 +0000 (23:15 +0200)]
Hack around global leak for now

11 years agoShared name production for const / fn name
Nikita Popov [Fri, 4 Jul 2014 21:08:05 +0000 (23:08 +0200)]
Shared name production for const / fn name

11 years agoSome refactoring of fn/const resolution
Nikita Popov [Sat, 28 Jun 2014 20:27:06 +0000 (22:27 +0200)]
Some refactoring of fn/const resolution

11 years agoDrop addition of weird \ prefix for FQ consts
Nikita Popov [Sat, 28 Jun 2014 16:22:51 +0000 (18:22 +0200)]
Drop addition of weird \ prefix for FQ consts

Also fixes a resolution bug

11 years agoRename ZEND_CONST to ZEND_AST_ZVAL
Nikita Popov [Sat, 28 Jun 2014 16:03:26 +0000 (18:03 +0200)]
Rename ZEND_CONST to ZEND_AST_ZVAL

11 years agoDrop dead code
Nikita Popov [Thu, 26 Jun 2014 20:17:19 +0000 (22:17 +0200)]
Drop dead code

11 years agoRemove obseleted grammar productions
Nikita Popov [Thu, 26 Jun 2014 20:04:09 +0000 (22:04 +0200)]
Remove obseleted grammar productions

11 years agoReuse expr for static_scalar
Nikita Popov [Thu, 26 Jun 2014 20:02:54 +0000 (22:02 +0200)]
Reuse expr for static_scalar

11 years agoHandle ::class in const expr via ast as well
Nikita Popov [Thu, 26 Jun 2014 19:44:46 +0000 (21:44 +0200)]
Handle ::class in const expr via ast as well

11 years agoCompile const refs to CONST
Nikita Popov [Thu, 26 Jun 2014 14:56:50 +0000 (16:56 +0200)]
Compile const refs to CONST

11 years agoCompile class const refs to CONST zval
Nikita Popov [Thu, 26 Jun 2014 14:35:30 +0000 (16:35 +0200)]
Compile class const refs to CONST zval

11 years agoAdd compilation state for static scalars
Nikita Popov [Thu, 26 Jun 2014 14:03:15 +0000 (16:03 +0200)]
Add compilation state for static scalars

11 years agoRemove static_scalar_base
Nikita Popov [Thu, 26 Jun 2014 12:03:31 +0000 (14:03 +0200)]
Remove static_scalar_base

11 years agoHandle trait __CLASS__ in parser
Nikita Popov [Thu, 26 Jun 2014 12:00:20 +0000 (14:00 +0200)]
Handle trait __CLASS__ in parser

11 years agoBring static scalar arrays in line
Nikita Popov [Thu, 26 Jun 2014 11:16:31 +0000 (13:16 +0200)]
Bring static scalar arrays in line

11 years agoBring static scalar AST more in line with normal AST
Nikita Popov [Thu, 26 Jun 2014 11:00:13 +0000 (13:00 +0200)]
Bring static scalar AST more in line with normal AST

11 years agoConst eval unary pm (as previously)
Nikita Popov [Thu, 26 Jun 2014 10:43:20 +0000 (12:43 +0200)]
Const eval unary pm (as previously)

11 years agoImplement constant expression folding as a separate pass
Nikita Popov [Mon, 23 Jun 2014 19:30:57 +0000 (21:30 +0200)]
Implement constant expression folding as a separate pass

11 years agoImplement CT eval of binary expressions
Nikita Popov [Sun, 22 Jun 2014 13:57:44 +0000 (15:57 +0200)]
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?

11 years agoMove T_STRING_VARNAME handling
Nikita Popov [Sat, 21 Jun 2014 18:11:31 +0000 (20:11 +0200)]
Move T_STRING_VARNAME handling

11 years agoSupport string interpolation
Nikita Popov [Sat, 21 Jun 2014 18:03:29 +0000 (20:03 +0200)]
Support string interpolation

11 years agozend_ast_dynamic_ast returns new node
Nikita Popov [Sat, 21 Jun 2014 17:26:17 +0000 (19:26 +0200)]
zend_ast_dynamic_ast returns new node

11 years agoRemove dead code
Nikita Popov [Sat, 21 Jun 2014 16:44:16 +0000 (18:44 +0200)]
Remove dead code

11 years agoAST stage 2.4
Nikita Popov [Thu, 19 Jun 2014 11:57:29 +0000 (13:57 +0200)]
AST stage 2.4

11 years agoAdd ability to specify additional attr in AST
Nikita Popov [Thu, 19 Jun 2014 11:44:17 +0000 (13:44 +0200)]
Add ability to specify additional attr in AST

11 years agoMake ast->children a uint
Nikita Popov [Thu, 19 Jun 2014 11:08:21 +0000 (13:08 +0200)]
Make ast->children a uint

Future optimization: only use uint for dynamic lists and use a
uchar or even an introspection function to get the child count.

11 years agoRemove dead code
Nikita Popov [Sat, 14 Jun 2014 19:59:44 +0000 (21:59 +0200)]
Remove dead code

11 years agoSupport yield without parens
Nikita Popov [Wed, 18 Jun 2014 20:32:08 +0000 (22:32 +0200)]
Support yield without parens

for now => is lowest-prec right-assoc

11 years agoAST stage 1.9
Nikita Popov [Sat, 14 Jun 2014 16:30:18 +0000 (18:30 +0200)]
AST stage 1.9

Expressions (mostly) use the AST

11 years agoAST-based compiler: Stage 1
Nikita Popov [Sat, 7 Jun 2014 11:06:53 +0000 (13:06 +0200)]
AST-based compiler: Stage 1

11 years agoRemove (&ast->u.child)[i] weirdness
Nikita Popov [Fri, 6 Jun 2014 20:35:21 +0000 (22:35 +0200)]
Remove (&ast->u.child)[i] weirdness

11 years agoAccept static member fetch in new variable (BC)
Nikita Popov [Fri, 6 Jun 2014 15:05:14 +0000 (17:05 +0200)]
Accept static member fetch in new variable (BC)

11 years agoAllow only simple variables with global keyword
Nikita Popov [Wed, 4 Jun 2014 15:15:16 +0000 (17:15 +0200)]
Allow only simple variables with global keyword

11 years agoMerge and rename to member_name
Nikita Popov [Sat, 31 May 2014 19:00:11 +0000 (21:00 +0200)]
Merge and rename to member_name

11 years agoRemove duplication
Nikita Popov [Sat, 31 May 2014 18:58:44 +0000 (20:58 +0200)]
Remove duplication

11 years agoHandle FUNC_ARG fetches on temporaries
Nikita Popov [Sat, 31 May 2014 18:15:55 +0000 (20:15 +0200)]
Handle FUNC_ARG fetches on temporaries

11 years agoSupport isset() on temporaries
Nikita Popov [Sat, 31 May 2014 18:05:03 +0000 (20:05 +0200)]
Support isset() on temporaries

11 years agoForbid writing to temporary expressions
Nikita Popov [Sat, 31 May 2014 17:41:39 +0000 (19:41 +0200)]
Forbid writing to temporary expressions

11 years agoAdd another static member access test
Nikita Popov [Sat, 31 May 2014 16:18:20 +0000 (18:18 +0200)]
Add another static member access test

11 years agoProperly handle property read on const/tmp
Nikita Popov [Sat, 31 May 2014 15:51:22 +0000 (17:51 +0200)]
Properly handle property read on const/tmp

11 years agoProperty handle calls on [] and '' consts/tmps
Nikita Popov [Sat, 31 May 2014 15:36:22 +0000 (17:36 +0200)]
Property handle calls on [] and '' consts/tmps

11 years agoSupport directly calling closure
Nikita Popov [Sat, 31 May 2014 15:18:37 +0000 (17:18 +0200)]
Support directly calling closure

11 years agoFix previous commit
Nikita Popov [Sat, 31 May 2014 15:02:48 +0000 (17:02 +0200)]
Fix previous commit

11 years agoIntroduce dereferencable_scalar to simplify future additions
Nikita Popov [Sat, 31 May 2014 14:44:53 +0000 (16:44 +0200)]
Introduce dereferencable_scalar to simplify future additions

11 years agoAdd two initial tests
Nikita Popov [Sat, 31 May 2014 14:33:52 +0000 (16:33 +0200)]
Add two initial tests

11 years agoGeneralize static access syntax
Nikita Popov [Sat, 31 May 2014 14:27:03 +0000 (16:27 +0200)]
Generalize static access syntax

11 years agoRemove now unnecessary code in begin_method_call
Nikita Popov [Sat, 31 May 2014 14:08:38 +0000 (16:08 +0200)]
Remove now unnecessary code in begin_method_call

11 years agoRemove object_stack (mostly)
Nikita Popov [Sat, 31 May 2014 13:59:54 +0000 (15:59 +0200)]
Remove object_stack (mostly)

11 years agoUpdate another test
Nikita Popov [Fri, 30 May 2014 22:48:06 +0000 (00:48 +0200)]
Update another test

11 years agoUpdate two tests with new semantics
Nikita Popov [Fri, 30 May 2014 22:40:32 +0000 (00:40 +0200)]
Update two tests with new semantics

11 years agoAllow arrays + object access for new expressions
Nikita Popov [Fri, 30 May 2014 22:37:03 +0000 (00:37 +0200)]
Allow arrays + object access for new expressions

11 years agoIntegrate combined scalar as dereferencable
Nikita Popov [Fri, 30 May 2014 22:18:50 +0000 (00:18 +0200)]
Integrate combined scalar as dereferencable