1
0
mirror of https://github.com/danog/PHP-Parser.git synced 2024-11-27 04:14:44 +01:00
Commit Graph

202 Commits

Author SHA1 Message Date
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
690b505a7a Make array_pair an extra grammar rule, for cleaner grammar and correct $line 2011-08-10 11:24:20 +02:00
nikic
f67ff50550 Give all Scalar nodes and the special nodes Name and Variable specialized constructors for easier use 2011-08-09 15:07:05 +02:00
nikic
ae46aeda7f Don't save whether a string is binary anymore. The binary flag isn't going to be used in the next couple of years, so it doesn't make sense to unnecessarily complicate things. 2011-08-09 14:19:44 +02:00
nikic
197b8e6967 Don't save quote type for strings anymore (as it is irrelevant for script execution) 2011-08-09 14:12:15 +02:00
nikic
7d43c02c06 Fix analyzer.php 2011-08-09 13:26:04 +02:00
nikic
664be2871a Make the resolve type of a name a normal subnode (type) 2011-08-04 13:59:56 +02:00
nikic
9c53838b1f Properly handle fully qualified and relative names 2011-08-04 13:53:23 +02:00
nikic
afd6c70b77 Merge preprocessor.php into rebuildParser.php. Don't distribute the temporary preprocessed grammar anymore 2011-08-04 12:46:48 +02:00
nikic
12e61cb3ea Allow use of normal dollar variables in .pre.phpy (by transforming them to #hash variables for kmyacc) 2011-08-04 12:16:31 +02:00
nikic
dd2404b57a Rename "ns" to "name" in Stmt_UseUse 2011-08-04 12:01:03 +02:00
nikic
70306000e8 In rebuildParser.php output stderr too (so there actually is output) 2011-08-04 11:47:29 +02:00
nikic
afcf7777bf Don't generate y.output file anymore as it really bloats diffs 2011-08-04 11:12:19 +02:00
nikic
78f15cd50b Associate last encountered doccomment with next node 2011-07-03 16:35:45 +02:00
nikic
033f5c81a0 Add missing #line hint for strings 2011-06-28 14:16:10 +02:00
nikic
f756d82cd4 Fetch start line instead of end line 2011-06-28 14:11:12 +02:00
nikic
b153bfa3a8 Remove reentrant error handling code (we don't need that currently) 2011-06-27 19:14:37 +02:00
nikic
dd13cd4fe9 Add README for grammar folder 2011-06-26 20:56:35 +02:00
nikic
fb45e8a30c Put statements belonging to a namespace statement into its stmt property, add some further checks against invalid namespace usage and fix the pretty printer to print global namespaces 2011-06-26 18:41:01 +02:00
nikic
dfa59332ed Move halt_compiler handling from parser to grammar 2011-06-12 17:19:12 +02:00
nikic
f11f228074 Associate some line information with nodes (currently the line the node ends in, as the starting line is harder to fetch) 2011-06-12 17:12:47 +02:00
nikic
363a0771da fix incorrect usages of old ParseErrorException 2011-06-06 18:59:14 +02:00
nikic
b24d0e2dc4 Rename PHPParser_ParseErrorException to PHPParser_Error 2011-06-05 18:52:41 +02:00
nikic
620525a5da Prefix all classes with PHPParser_ 2011-06-05 18:40:04 +02:00
nikic
4006e55951 Fix typo Expr_ErrorSupress -> Expr_ErrorSuppress 2011-06-04 15:37:13 +02:00
nikic
8294ceb754 Fix pretty printing issues caused by Expr_InstanceOf vs Expr_Instanceof 2011-06-04 15:25:54 +02:00
nikic
bf00dff2cf Make halt_compiler() work 2011-06-03 22:04:05 +02:00
nikic
d82bbb3bea Throw ParseErrorException on error instead of error callback
As long as the parser isn't reentrant having an error callback doesn't really make sense and only complicates everything.
2011-06-03 17:44:23 +02:00
nikic
74f05f5459 Fix wrong node signature in grammar 2011-06-02 22:57:00 +02:00
nikic
352cfde568 Slightly simplify grammar 2011-06-02 17:01:22 +02:00
nikic
1c4d47613c Fix parsing of static methods with dynamic method name 2011-06-02 16:29:28 +02:00
nikic
2fb0206deb Add missing rules to parser to allow a::${b} 2011-05-31 17:28:22 +02:00
nikic
4f3260f670 Add doccomments and slightly change some APIs 2011-05-31 16:33:11 +02:00
nikic
68a25ce7c1 Fix typo in grammar 2011-05-30 22:15:17 +02:00
nikic
9aed651d51 Remove Stmt_Noop 2011-05-30 17:39:20 +02:00
nikic
9c8651120f Fix wrong Node signature for String_Scalar created by T_STRING_VARNAME 2011-05-29 21:09:37 +02:00
nikic
df82e3db45 Replace yydebug flag with separate debug parser "ParserDebug"
Debugging shouldn't be necessairy normally, but carries a 25% performance overhead.
2011-05-29 20:51:15 +02:00
nikic
15e268cd8b Parse escape sequences in encapsed strings too 2011-05-29 20:06:53 +02:00
nikic
685171ddc5 Fix incorrect Node creation for dynamic static property access 2011-05-29 12:24:27 +02:00
nikic
355ddd8d75 Parse strings more correctly, keep information on whether it was a single or double quoted string 2011-05-28 00:21:12 +02:00
nikic
d4f3cdd695 Simplify grammar thus reducing shift/reduce conflicts 2011-05-27 21:51:27 +02:00
nikic
ae3603d126 Fix parsing issue with array accesses on object accesses ($x->y[z]) 2011-05-27 21:15:38 +02:00
nikic
eeb63065be a) changes node structure (Stmt_, Expr_, ...) b) fixes parsing of x::$y[z]
Sorry for that one large commit. Won't happen again.
2011-05-27 18:42:36 +02:00
nikic
e00b460125 Slightly optimize the parser and improve the API 2011-04-29 21:06:11 +02:00
nikic
aea5e43349 Initial commit 2011-04-18 19:02:30 +02:00