]> granicus.if.org Git - php/log
php
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

11 years agoGeneralize expression dereferencing
Nikita Popov [Fri, 30 May 2014 22:09:11 +0000 (00:09 +0200)]
Generalize expression dereferencing

11 years agoMinor cleanup
Nikita Popov [Fri, 30 May 2014 22:02:51 +0000 (00:02 +0200)]
Minor cleanup

11 years agoCleanup old grammar rules
Nikita Popov [Fri, 30 May 2014 21:51:54 +0000 (23:51 +0200)]
Cleanup old grammar rules

11 years agoReintroduce new expression dereferencing
Nikita Popov [Fri, 30 May 2014 21:44:30 +0000 (23:44 +0200)]
Reintroduce new expression dereferencing

11 years agoRemove reference_variable indirection
Nikita Popov [Fri, 30 May 2014 21:36:30 +0000 (23:36 +0200)]
Remove reference_variable indirection

11 years agoMake function calls directly callable
Nikita Popov [Fri, 30 May 2014 21:30:37 +0000 (23:30 +0200)]
Make function calls directly callable

11 years agoRecursive definition for object proprety fetches
Nikita Popov [Fri, 30 May 2014 20:53:30 +0000 (22:53 +0200)]
Recursive definition for object proprety fetches

11 years agoLTR static member access
Nikita Popov [Fri, 30 May 2014 20:33:03 +0000 (22:33 +0200)]
LTR static member access

11 years agoUse recursion for property fetches
Nikita Popov [Fri, 30 May 2014 20:03:24 +0000 (22:03 +0200)]
Use recursion for property fetches

11 years agoGet rid of base_variable_with_function_calls
Nikita Popov [Fri, 30 May 2014 19:14:18 +0000 (21:14 +0200)]
Get rid of base_variable_with_function_calls

11 years agoTemporarily disable complex variables in new expressions
Nikita Popov [Fri, 30 May 2014 19:11:25 +0000 (21:11 +0200)]
Temporarily disable complex variables in new expressions

11 years agoChange precedence of $ operator
Nikita Popov [Fri, 30 May 2014 14:31:10 +0000 (16:31 +0200)]
Change precedence of $ operator

$$foo['bar'] is now interpreted as ${$foo}['bar'] rather than
${$foo['bar']}.

11 years agoImproved conditions order
Dmitry Stogov [Fri, 30 May 2014 10:40:19 +0000 (14:40 +0400)]
Improved conditions order

11 years agoMerge branch 'phpng' of git.php.net:php-src into phpng
Dmitry Stogov [Fri, 30 May 2014 07:13:19 +0000 (11:13 +0400)]
Merge branch 'phpng' of git.php.net:php-src into phpng

* 'phpng' of git.php.net:php-src:
  typo
  Revert "Fix ArrayObject with immutable array"
  Fix ArrayObject with immutable array

11 years agoAvoid useless duplication of immutable arrays
Dmitry Stogov [Fri, 30 May 2014 07:12:24 +0000 (11:12 +0400)]
Avoid useless duplication of immutable arrays

11 years agoAvoid in-place modification
Dmitry Stogov [Fri, 30 May 2014 07:12:03 +0000 (11:12 +0400)]
Avoid in-place modification

11 years agotypo
Xinchen Hui [Fri, 30 May 2014 06:56:50 +0000 (14:56 +0800)]
typo