On 04/22/2016 02:02 AM, Ryan Pallas wrote:
On Thu, Apr 21, 2016 at 4:51 PM, Dmitry Stogov <dmi...@zend.com
<mailto:dmi...@zend.com>> wrote:
About expressions, isn't there an ambigoutiy? <<test(1)>> is a
"plain" name, value based attribute. But it could also be an
ast\node of a function call to "test(1)"
even in AST scalars are scalars.
so <<test(1+2)>> would return: ast\node "+" with two children
int(1) and int(2).
I am wondering if they shouldn't get their own start/end signs
to clear that up, <<<test(1)>> vs <<test(1)>>.
no need for extra complication.
Since the encapsulated meta-data is an AST, and as you say any valid
php expression will be valid here, what about bit shifting?
<<Test(FOO >> BAR)>>
This works because attributes are implemented as native part of
context-free PHP grammar.
Are there concerns about finding the T_SR token, which is also the end
annotation symbol? I've not done any work in the parser, so excuse me
if that is an insanely stupid question :)
Not a problem. Better to get false alarm then miss a real one :)
Otherwise, I think this RFC looks great, and appreciate your work on
this :)
Thanks. Dmitry.
Ryan