Talk in English - UK at Dutch PHP Conference 2017
View Slides: https://www.slideshare.net/asgrim1/climbing-the-abstract-syntax-tree-dpc-2017
Short URL: https://joind.in/talk/34a03
(QR-Code (opens in new window))
The new Abstract Syntax Tree (AST) in PHP 7 means the way our PHP code is being executed has changed. Understanding this new fundamental compilation step is key to understanding how our code is being run.
To demonstrate, James will show how a basic compiler works and how introducing an AST simplifies this process. We’ll look into how these magical time-warp techniques* can also be used in your code to introspect, analyse and modify code in a way that was never possible before.
After seeing this talk, you'll have a great insight as to the wonders of an AST, and how it can be applied to both compilers and userland code.
(*actual magic or time-warp not guaranteed)
Comments
Comments are closed.
Well presented!
Probably the best talk I've ever attended irl. James really succeeded in making complex matter (looking) super simple!
A nice insight into the inner workings of php, very good job making an arcane subject easy to understand. The bits about monkey patching could perhaps use a little more intro and context (examples), but it did not bother understanding.
Made me understand the AST very easy.
Very good talk.
Interesting subject, but I would have wanted a more complete view of the process, or more focus on applicability. Instead it was a bit of both without satisfying either.
Well delivered and interesting talk on a subject that perhaps doesn't have a huge amount of day-to-day application. Looking forward to monkey-patching production sometime soon!! :p
Pretty good talk! Got to learn quite a lot about the PHP lexer, parser and compiler!
A nice wel explained look under the hood. Great presentation skills
I really enjoy this topic, and speak about it every now and then. I went in thinking it might be a little boring because of that (given the abstract), but I was pleasantly surprised. I'd definitely sit through this talk about, but in case you're looking for something to improve before then...
I found the Polish Notation section _very_ dry. I understand why you needed to explain it, since the grammar you defined was easier to execute when polish notation was used, but I think there are other avenues you could try, which would remove the need to explain Polish Notation at all.
To contrast, Christopher Hoult also spoke about Polish Notation (in his graphs talk) and it was far more digestible. Perhaps it was because he was approaching it via an introduction to graph traversal. Perhaps it was because his visual aids were better. In any case, I much preferred his description of Polish Notation.
If you explained your parser via state machines and then lightly touched on prefix/postfix, I think you'd avoid needing to demonstrate Polish Notation at all. You'd also have more time to expand on the grammar (for things like parenthetical associativity).