com presentations: Add internals talk for php tour: jump-phptour18.xml slides/xdebug/vld-path-2-paths.xml

[email protected] (Derick Rethans) Tue, 15 May 2018 13:46:57 +0000
Newsgroups php.pres
Message-ID <[email protected]>
Commit:    7587a566eda611fe500c574abe9d5b4209085e8c
Author:    Derick Rethans <[email protected]>         Tue, 15 May 2018 14:46:57 +0100
Parents:   5c7bd964924efd4827918c04d5cf66fbec8b36cf
Branches:  master

Link:       http://git.php.net/?p=presentations.git;a=commitdiff;h=7587a566eda611fe500c574abe9d5b4209085e8c

Log:
Add internals talk for php tour

Changed paths:
  A  jump-phptour18.xml
  M  slides/xdebug/vld-path-2-paths.xml


Diff:
diff --git a/jump-phptour18.xml b/jump-phptour18.xml
new file mode 100644
index 0000000..b3e085f
--- /dev/null
+++ b/jump-phptour18.xml
@@ -0,0 +1,117 @@
+<?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 Tour Montpellier</event>
+<location>Montpellier, France</location>
+<date>May 17th, 2019</date>
+<speaker>Derick Rethans</speaker>
+<email>[email protected]</email>
+<twitter>derickr</twitter>
+<joindin>https://joind.in/23097</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>
diff --git a/slides/xdebug/vld-path-2-paths.xml b/slides/xdebug/vld-path-2-paths.xml
index bada25b..854c0e8 100644
--- a/slides/xdebug/vld-path-2-paths.xml
+++ b/slides/xdebug/vld-path-2-paths.xml
@@ -3,16 +3,7 @@
 <image align="right" filename="vld-path-2-paths.png"/>
 <example>
 <![CDATA[  1 <?php
-  2 function loopy($i)
-  3 {
-  4     do
-  5     {
-  6         echo $i, ' ';
-  7 
-  8     } while( $i-- );
-  9     echo "\n";
- 10 }
- 11 
+…
  12 function ifthenelse( $a, $b )
  13 {
  14     if ($a) {