Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Symfony Checker is coming

Symfony Checker is coming

Avatar for Valentine Boineau

Valentine Boineau

June 26, 2019

Other Decks in Programming

Transcript

  1. 2

  2. 3

  3. 4

  4. 5 function foo() { $a = 1; $b = 2;

    return $a + $b; } Abstract Syntax Tree
  5. 6

  6. 7

  7. 8

  8. 10

  9. Control Flow Graph 11 function foo($a) { if ($a ===

    4) { $b = 1; } else { $b = 2; } return $a + $b; }
  10. Static Single Assignment 12 $a = 42; $b = $a;

    $c = $a + $b; $a = $c + 23; $b = foo($b); $v1 = 42; $v2 = $v1; $v3 = $v1 + $v2; $v4 = $v3 + 23; $v5 = foo($v2);
  11. Exemple 13 function foo($a) :Ustensile { if ($a === 4)

    { $b = new Casserole(); } else { $b = new Chaussette(); } return $b; }
  12. 14