nikic
69b298c4b5
Recognize halt_compiler() ?> (without ;)
2011-10-18 18:03:28 +02:00
nikic
afdfb6bf08
Make test_old able to run PHP testsuite
2011-10-17 17:49:24 +02:00
nikic
7078252444
Fix pretty printing of whole-numbered floats
...
This time properly. Only remaining problem is that floats like 1e1000 are printed as INF. This may or may not be acceptable. The value will be the same, but the tests will signal a diff failure.
2011-10-16 15:39:23 +02:00
nikic
b77d66e5bd
Fix pretty print of ${$a}[0]
2011-10-16 15:25:40 +02:00
nikic
4ce618643f
Fix escaping in pretty print of ShellExec
2011-10-16 15:19:50 +02:00
nikic
9ed77427a2
Rename Expr_List to Expr_AssignList
2011-10-16 14:49:13 +02:00
nikic
43f9c37c7f
Add operator precedence for list() assignments
2011-10-16 14:44:39 +02:00
nikic
7f82d20cca
Fix pretty printing of whole-numbered floats
2011-10-16 14:36:45 +02:00
nikic
6fc85143ca
Fix parsing of $$$a
2011-10-16 14:30:22 +02:00
nikic
f30320b9b2
Fix Stmt_List pretty printing for nested list()s
2011-10-16 14:11:23 +02:00
nikic
527265cdf7
Fix Stmt_DeclareDeclare pretty printing
2011-10-16 13:38:23 +02:00
nikic
df657b703e
Rename caseList to cases in Node_Stmt_Switch
2011-10-15 19:30:48 +02:00
nikic
2d57f52d24
Add more specialized constructors
2011-10-15 19:28:15 +02:00
nikic
a7a7dfce18
Remove useless condition from Throw printer
2011-09-30 19:30:33 +02:00
nikic
535cf21b73
Swap argument order for Node_Case
...
$cond is now the first parameter and is not optional.
2011-09-30 19:19:17 +02:00
nikic
b7a034cd9f
Remove redundant check in NameResolver
2011-09-29 18:51:12 +02:00
nikic
53d33345e1
Simplify resolveOtherName logic
2011-09-28 20:29:19 +02:00
nikic
ab72f98570
Add NameResolver
...
The NameResolver visitor tries to resolve all names to fully qualified names. It will resolve all non-dynamic names, apart from unqualified function and constant names. The latter can not be resolved properly without running the code.
2011-09-28 20:14:27 +02:00
nikic
62183807ee
Add test coverage for Node_Name
...
And fix bugs found while doing so.
2011-09-28 18:11:28 +02:00
nikic
92f793001b
Fix some readme + doccomment typos
2011-09-28 16:26:51 +02:00
nikic
d53173c2f3
Don't use references in NodeTraverser
...
Stop using reference magic in the NodeTraverser. Instead use normal return values. Additionally enfore that an array is passed to ->traverse().
2011-09-24 23:39:05 +02:00
nikic
d5f148b43f
Merge Node_Name and Node_Name_Normal
2011-09-24 23:31:18 +02:00
nikic
df7cb44eed
Use seperate Name node classes instead of type subnode
2011-09-24 16:53:40 +02:00
nikic
858545732c
Add shared Node_Const
...
Node_Const is shared between Node_Stmt_ClassConst and Node_Stmt_Const. Maybe one could generalize it to a Node_NameToValue to share it with Node_Stmt_Declare too.
2011-09-23 21:00:59 +02:00
nikic
8bd8e815c9
Add missing doc and pretty print for Stmt_Declare
2011-09-23 18:53:11 +02:00
nikic
ea65ea7a32
Make some doc comments more precise
...
Additionally add two further constructors
2011-09-23 18:45:29 +02:00
nikic
ee4e55dc75
Move Node_Expr_FuncCallArg to Node_Arg (just like Node_Param)
2011-09-22 20:34:35 +02:00
nikic
06b7d63406
Add specialized constructors for statement nodes with only one subnode
2011-09-22 20:27:12 +02:00
nikic
a551bbc5a4
Add PHPParser_Node interface
2011-09-21 21:43:19 +02:00
nikic
3583c1955f
Improve NodeDumper performance and make testAgainstDirectory more friendly
2011-09-06 17:10:58 +02:00
nikic
847cdbc5c6
Swap argument order for ArrayItem
2011-09-02 19:49:46 +02:00
nikic
393221ce63
Some minor improvements (performance and exception wise) for the node traverser
2011-08-31 21:19:31 +02:00
nikic
63525d36e7
Fix / improve some method doc docomments / signatures
2011-08-22 17:38:05 +02:00
nikic
9cc2cf322b
Iterate replacement nodes using all visitors apart from the one having made the replacement
2011-08-20 16:16:59 +02:00
nikic
17a81b5c8f
Properly parse escape sequences:
...
* Add support for oct and hex escape sequences
* Take used quote type into account when parsing encapsed strings
2011-08-20 10:40:27 +02:00
nikic
05c514f9c5
Instantiate a Node_Name for 'static', too. Fix some doc comments.
2011-08-19 17:44:42 +02:00
nikic
299893066d
Fix NodeTraverser by putting to-be-deleted and to-be-merged nodes into the same queue. Additionally do not further iterate queued nodes.
2011-08-19 17:19:27 +02:00
nikic
ca51472c2f
Move Variable to Expr_Variable, move Stmt_FuncParam to Param (as it is used both in stmts and expr and both in funcs and methods)
2011-08-14 18:51:42 +02:00
nikic
bd602afc3a
Add specialized constructor for lambdas, too
2011-08-14 18:26:06 +02:00
nikic
7bd3980a2e
Remove node analysis from analyze.php and fix some other things about it
2011-08-14 15:52:57 +02:00
nikic
96350be172
Implement the debug parser by extending the normal parser. That way there is no need to repeat all action codes and lookup tables twice.
2011-08-14 15:36:15 +02:00
nikic
297c9ac290
Use moriyoshi's fork of kmyacc, which fixes most of the issues of kmyacc with PHP
2011-08-14 14:52:24 +02:00
nikic
e0fe21287d
Add specialized constructors for all expression nodes apart from lambda
2011-08-11 10:25:51 +02:00
nikic
f412b3915f
Rename cast nodes and give them a common Expr_Cast parent (with specialized constructor)
2011-08-11 09:20:25 +02:00
nikic
284f32f475
Add specialized constructor for binary operators
2011-08-11 08:57:13 +02:00
nikic
22b507e9f4
Rename Bin[ary] to Bitwise (which is the correct name)
2011-08-11 08:42:28 +02:00
nikic
344913d44b
Add specialized constructors for assignment operations
2011-08-11 08:35:10 +02:00
nikic
d9a23f2dc7
Add specialized constructors for Expr_Array*, make Variable an Expr
2011-08-11 08:13:01 +02:00
nikic
c06cbb53dc
Make for-loop formatting nicer
2011-08-11 07:53:55 +02:00
nikic
690b505a7a
Make array_pair an extra grammar rule, for cleaner grammar and correct $line
2011-08-10 11:24:20 +02:00