Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
It's all about the Goto (PHP UK version)
- Loading branch information
Showing
2 changed files
with
118 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<presentation css="10gen-strict.css"> | ||
<topic>PHP</topic> | ||
<title>It's All About the Goto</title> | ||
<event>PHP UK Conference 2017</event> | ||
<location>London, UK</location> | ||
<date>February 16th, 2017</date> | ||
<speaker>Derick Rethans</speaker> | ||
<email>derick@php.net</email> | ||
<twitter>derickr</twitter> | ||
<joindin></joindin> | ||
|
||
<slide>slides/mongodb/title.xml</slide> | ||
<slide>slides/mongodb/me.xml</slide> | ||
|
||
<slide>slides/internals/title-agenda.xml</slide> | ||
|
||
<slide>slides/internals/title-stages.xml</slide> | ||
<!-- INTRODUCTION | ||
Compile stages: | ||
Parse script | ||
Create AST | ||
Convert to opcodes | ||
Run the code | ||
Opcache for caching | ||
--> | ||
<slide>slides/internals/stages.xml</slide> | ||
|
||
<!-- STAGES | ||
Parse | ||
- Show parser rules | ||
- Show "compiler" rules | ||
--> | ||
|
||
<slide>slides/internals/title-parsing.xml</slide> | ||
<slide>slides/internals/parse-state-machine.xml</slide> | ||
<slide>slides/internals/parse-tokenization.xml</slide> | ||
<slide>slides/internals/scanner.xml</slide> | ||
<slide>slides/internals/scanner-rules.xml</slide> | ||
<slide>slides/internals/ast.xml</slide> | ||
<slide>slides/internals/ast1.xml</slide> | ||
<slide>slides/internals/scanner-ast.xml</slide> | ||
<slide>slides/internals/scanner-ast2.xml</slide> | ||
<slide>slides/internals/bytecode0.xml</slide> | ||
<slide>slides/internals/bytecode½.xml</slide> | ||
<slide>slides/internals/bytecode1.xml</slide> | ||
|
||
<slide>slides/internals/jumps.xml</slide> | ||
|
||
<!-- | ||
AST | ||
- Show AST for various control structures | ||
Opcodes | ||
- Show AST for the same control structures | ||
--> | ||
|
||
<slide>slides/internals/jumps-if.xml</slide> | ||
<slide>slides/internals/jumps-if-else.xml</slide> | ||
|
||
<slide>slides/internals/rings.xml</slide> | ||
<slide>slides/internals/jumps-for.xml</slide> | ||
<slide>slides/internals/jumps-for-rewritten.xml</slide> | ||
<slide>slides/internals/jumps-while.xml</slide> | ||
<slide>slides/internals/jumps-do-while.xml</slide> | ||
<slide>slides/internals/jumps-foreach.xml</slide> | ||
<slide>slides/internals/jumps-complex.xml</slide> | ||
<slide>slides/internals/loops.xml</slide> | ||
<slide>slides/internals/jumps-complex-dot.xml</slide> | ||
|
||
<!-- | ||
Try/Catch nonsense | ||
- FASTCALL/FASTRET | ||
--> | ||
<slide>slides/internals/catch.xml</slide> | ||
<slide>slides/internals/jumps-try-catch.xml</slide> | ||
|
||
<!-- | ||
Dead code analysis | ||
- Show how Xdebug does it through VLD | ||
--> | ||
<slide>slides/internals/deadcode.xml</slide> | ||
<slide>slides/internals/deadcode-vld.xml</slide> | ||
|
||
<!-- | ||
Path analysis | ||
- Branch and Path | ||
--> | ||
<slide>slides/internals/branches.xml</slide> | ||
<slide>slides/xdebug/vld-path-2-paths.xml</slide> | ||
<slide>slides/xdebug/vld-path-4-code.xml</slide> | ||
<slide>slides/xdebug/vld-path-4-output.xml</slide> | ||
|
||
<slide>slides/xdebug/vld-path-3-code.xml</slide> | ||
<slide>slides/xdebug/vld-path-3-output.xml</slide> | ||
<slide>slides/xdebug/vld-path-3-paths.xml</slide> | ||
|
||
<!-- Conclusion | ||
Code -> Tokens -> AST -> opode | ||
Transformation of control structures | ||
Useful implementations | ||
--> | ||
<slide>slides/internals/recap.xml</slide> | ||
<slide>slides/internals/recap-content.xml</slide> | ||
|
||
|
||
|
||
<slide>slides/mongodb/questions.xml</slide> | ||
|
||
<slide>slides/mongodb/resources.xml</slide> | ||
|
||
</presentation> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters