Perl 6 Regex
Perl 6 Data Structures
Schlaraffenland
Heiliger Gral
Schönheit Und Struktur
Voll Gepackt
Voll Gepackt
Vorsicht Denglisch !
Voll Gepackt
Keine Sorge:Perl5
Modifikator am Anfang  m :P5 //
Alles wie bei Mama
Papa saysWe put the ”regular”back into expression.
Was bleibt ?
Was bleibt ?  Capturing: (…) Escape:       Modifikatoren: i, g    Quantifier: *, +, und ?        Alternativen: |        ma...
Vorsicht Falle
Vorsicht Falle   . /smex   [-]    //
Any Char   .
Any CharN ist der alte .
Any CharN ist der alte .Gegenteil von n
Any CharN ist der neue .Gegenteil von n   seit 5.12
Any Char   N ist der alte .Punkt meint ”any char”
Any Char
Any Char
Any Char
Kein ”multi line mode”   kein /.../s und /.../m
Kein ”multi line mode”   kein /.../s und /.../m        ^       ^^
Kein ”multi line mode”   kein /.../s und /.../m        ^       ^^        $       $$
Leerzeichenimmer noch s
Leerzeichenimmer noch s  h | v
Leerzeichen    immer noch s        h | vhorizontal | vertikal
Leerzeichen    immer noch s       h | vhorizontal = leer + tabs
Oder oder oder?    |     ||
Oder oder oder?     |       ||  sub | substr
Oder oder oder?     |       ||  sub | substr substr gewinnt
Oder oder oder?     |      || sub || substr
Oder oder oder?     |      || sub || substr  sub gewinnt
Regex Metachar ^ ^^ $ $$ | || &   . ** % %% := # (+Klammern)
Regex Metachar ^ ^^ $ $$ | || &   . ** % %% := # (+Klammern)
Regex Metachar ^ ^^ $ $$ | || &   . ** % %% := # (+Klammern)
Regex Metachar ^ ^^ $ $$ | || &   . ** % %% := # (+Klammern)
Quantifikatoren?   +   *    ** **?        **    %       %%
Quantifikator **243 ~~ /d ** 2/
Quantifikator **243 ~~ /d ** 2/  default to *
Quantifikator ** 243 ~~ /d ** 2/243 ~~ /d ** 2..4/
Quantifikator %3,4,5 ~~ /d+ % ,/
Quantifikator %%3,4,5 ~~ /d+ % ,/3,4,5, ~~ /d+ %% ,/
Kein ”eval mode”   P5: s/.../.../e
Kein ”eval mode”   P5: s/.../.../e   P6: s/.../{...}/
Kein ”eval mode”   P5: s/.../.../e   P6: s/.../{...}/   s[...] = {…};
Kein ”eval mode”   P5: s/.../.../ee P6: s/.../{ eval ...}/  s[...] = eval {…};
Perl 6 Regex  kein /.../x
Perl 6 Regex  kein /.../x ist Standard
Eigene Zeichenklasse      P5: [a-m]
Eigene Zeichenklasse      P5: [a-m]     P6: <[a m]>]
Bereiche Wie Überall      P5: [a-m]     P6: <[a..m]>]
Klammern in RegexZeichenklasse <[..]>]     Block {..}
Klammern in RegexTeilregex (..), [..], <...> Zeichenklasse <[..]>]        Block {..}
Klammern in Regex (?:pattern) => [pattern](?<key>pattern)       => $<key> = <pattern>   (?{code}) => {code}
Horror Vacui
Horror Vacui    kein //
Horror Vacui    kein //  / <prior> /
Horror Vacui     kein //   / <prior> //  / aka / <?> /
Teilfunde $1
Teilfunde $1 => $0
Teilfunde      $1 => $0$0 => $*EXECUTABLE_NAME
Teilfunde $1 => $0kein 1 .. 9
Teilfunde       $1 => $0         kein:L...E, U...E, Q...E
Perl 6 Regex  $1 => $0  { lc …}, ...
Teilfunde $1 => $0      $0 ..
Teilfunde $1 => $0      $0 ..
Teilfunde $1 => $0      $0 .. $15
Teilfunde $1 => $0@() == $0 ..
Teilfunde $1 => $0@() == $0 .. @()[1][2]
Teilfunde $1 => $0 ( () (…) ) @()[0][1]
Regex Variablen   $0 …, @()    $/,
Regex Variablen   $0 …, @()    $/, $/<..>
Regex Variablen   $0 …, @()    $/, $/<..>      $<..>
Regex Variablen   $0 …, @()    $/, $/<..>  $<key> = (...)
Operatoren
Operatoren        rx//
Operatoren             rx//Warum nicht qr // ?
Operatoren              rx//Subsprache, ! Quoting
Operatoren            rx//$~MAIN $~Q $~Regex
Operatoren~~      rx//
Operatoren   ~~            rx//m// ms// s/// ss/// tr///
Operatoren   ~~            rx//m// ms// s/// ss/// tr///match comb subst trans
Operatorenms//   ss///
Operatoren  ms//    ss///m :s //   s :ss ///
Operatoren:sigspace :samespace  m :s //   s :ss ///
OperatorenLeerzeichen trennen Wörter:sigspace :samespace  m :s //     s :ss ///
Modifikatoren:g
Modifikatoren:g   :i   :a   :m
Modifikatoren:g   :i    :a   :m     :ii   :aa :mm
Modifikatoren   :g   :i      :a   :m:x(n) :nth(n)
Modifikatoren   :g    :i   :a   :m:x(n) :nth(n) :c(n) :p(n)
Modifikatoren   :g    :i   :a   :m:x(n) :nth(n) :c(n) :p(n)    :r :ov :ex :rw
grammar Methoden     regex {..}     token {..}      rule {..}
grammar Methoden          regex {..}   token {..} regex :ratchet {}rule {..} regex :ratchet :sigspace {}
grammar Methodengrammar webpage {  rule TOP {<head> <body>}  rule head {<meta>|<title>} … token title {   <?after <title> ...
grammar Methodengrammar webpage {  rule TOP {<head> <body>}  rule head {<meta>|<title>} … token title {   <?after <title> ...
grammar sind Klassen $~MAIN $~Q $~Regex
What I Doperlfoundation.org/ perl6/index.cgi?  perl_6_tablets
Thank You
Nächste SlideShare
Wird geladen in …5
×

Perl 6 Regex und Grammars

1.002 Aufrufe

Veröffentlicht am

this talk should you prepare you for the new syntax, so you can write Perl 6 today

1 Kommentar
0 Gefällt mir
Statistik
Notizen
  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.002
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
4
Kommentare
1
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Perl 6 Regex und Grammars

  1. 1. Perl 6 Regex
  2. 2. Perl 6 Data Structures
  3. 3. Schlaraffenland
  4. 4. Heiliger Gral
  5. 5. Schönheit Und Struktur
  6. 6. Voll Gepackt
  7. 7. Voll Gepackt
  8. 8. Vorsicht Denglisch !
  9. 9. Voll Gepackt
  10. 10. Keine Sorge:Perl5
  11. 11. Modifikator am Anfang m :P5 //
  12. 12. Alles wie bei Mama
  13. 13. Papa saysWe put the ”regular”back into expression.
  14. 14. Was bleibt ?
  15. 15. Was bleibt ? Capturing: (…) Escape: Modifikatoren: i, g Quantifier: *, +, und ? Alternativen: | match Var.: $/min. matching Suffix: ??, *?, +?
  16. 16. Vorsicht Falle
  17. 17. Vorsicht Falle . /smex [-] //
  18. 18. Any Char .
  19. 19. Any CharN ist der alte .
  20. 20. Any CharN ist der alte .Gegenteil von n
  21. 21. Any CharN ist der neue .Gegenteil von n seit 5.12
  22. 22. Any Char N ist der alte .Punkt meint ”any char”
  23. 23. Any Char
  24. 24. Any Char
  25. 25. Any Char
  26. 26. Kein ”multi line mode” kein /.../s und /.../m
  27. 27. Kein ”multi line mode” kein /.../s und /.../m ^ ^^
  28. 28. Kein ”multi line mode” kein /.../s und /.../m ^ ^^ $ $$
  29. 29. Leerzeichenimmer noch s
  30. 30. Leerzeichenimmer noch s h | v
  31. 31. Leerzeichen immer noch s h | vhorizontal | vertikal
  32. 32. Leerzeichen immer noch s h | vhorizontal = leer + tabs
  33. 33. Oder oder oder? | ||
  34. 34. Oder oder oder? | || sub | substr
  35. 35. Oder oder oder? | || sub | substr substr gewinnt
  36. 36. Oder oder oder? | || sub || substr
  37. 37. Oder oder oder? | || sub || substr sub gewinnt
  38. 38. Regex Metachar ^ ^^ $ $$ | || & . ** % %% := # (+Klammern)
  39. 39. Regex Metachar ^ ^^ $ $$ | || & . ** % %% := # (+Klammern)
  40. 40. Regex Metachar ^ ^^ $ $$ | || & . ** % %% := # (+Klammern)
  41. 41. Regex Metachar ^ ^^ $ $$ | || & . ** % %% := # (+Klammern)
  42. 42. Quantifikatoren? + * ** **? ** % %%
  43. 43. Quantifikator **243 ~~ /d ** 2/
  44. 44. Quantifikator **243 ~~ /d ** 2/ default to *
  45. 45. Quantifikator ** 243 ~~ /d ** 2/243 ~~ /d ** 2..4/
  46. 46. Quantifikator %3,4,5 ~~ /d+ % ,/
  47. 47. Quantifikator %%3,4,5 ~~ /d+ % ,/3,4,5, ~~ /d+ %% ,/
  48. 48. Kein ”eval mode” P5: s/.../.../e
  49. 49. Kein ”eval mode” P5: s/.../.../e P6: s/.../{...}/
  50. 50. Kein ”eval mode” P5: s/.../.../e P6: s/.../{...}/ s[...] = {…};
  51. 51. Kein ”eval mode” P5: s/.../.../ee P6: s/.../{ eval ...}/ s[...] = eval {…};
  52. 52. Perl 6 Regex kein /.../x
  53. 53. Perl 6 Regex kein /.../x ist Standard
  54. 54. Eigene Zeichenklasse P5: [a-m]
  55. 55. Eigene Zeichenklasse P5: [a-m] P6: <[a m]>]
  56. 56. Bereiche Wie Überall P5: [a-m] P6: <[a..m]>]
  57. 57. Klammern in RegexZeichenklasse <[..]>] Block {..}
  58. 58. Klammern in RegexTeilregex (..), [..], <...> Zeichenklasse <[..]>] Block {..}
  59. 59. Klammern in Regex (?:pattern) => [pattern](?<key>pattern) => $<key> = <pattern> (?{code}) => {code}
  60. 60. Horror Vacui
  61. 61. Horror Vacui kein //
  62. 62. Horror Vacui kein // / <prior> /
  63. 63. Horror Vacui kein // / <prior> // / aka / <?> /
  64. 64. Teilfunde $1
  65. 65. Teilfunde $1 => $0
  66. 66. Teilfunde $1 => $0$0 => $*EXECUTABLE_NAME
  67. 67. Teilfunde $1 => $0kein 1 .. 9
  68. 68. Teilfunde $1 => $0 kein:L...E, U...E, Q...E
  69. 69. Perl 6 Regex $1 => $0 { lc …}, ...
  70. 70. Teilfunde $1 => $0 $0 ..
  71. 71. Teilfunde $1 => $0 $0 ..
  72. 72. Teilfunde $1 => $0 $0 .. $15
  73. 73. Teilfunde $1 => $0@() == $0 ..
  74. 74. Teilfunde $1 => $0@() == $0 .. @()[1][2]
  75. 75. Teilfunde $1 => $0 ( () (…) ) @()[0][1]
  76. 76. Regex Variablen $0 …, @() $/,
  77. 77. Regex Variablen $0 …, @() $/, $/<..>
  78. 78. Regex Variablen $0 …, @() $/, $/<..> $<..>
  79. 79. Regex Variablen $0 …, @() $/, $/<..> $<key> = (...)
  80. 80. Operatoren
  81. 81. Operatoren rx//
  82. 82. Operatoren rx//Warum nicht qr // ?
  83. 83. Operatoren rx//Subsprache, ! Quoting
  84. 84. Operatoren rx//$~MAIN $~Q $~Regex
  85. 85. Operatoren~~ rx//
  86. 86. Operatoren ~~ rx//m// ms// s/// ss/// tr///
  87. 87. Operatoren ~~ rx//m// ms// s/// ss/// tr///match comb subst trans
  88. 88. Operatorenms// ss///
  89. 89. Operatoren ms// ss///m :s // s :ss ///
  90. 90. Operatoren:sigspace :samespace m :s // s :ss ///
  91. 91. OperatorenLeerzeichen trennen Wörter:sigspace :samespace m :s // s :ss ///
  92. 92. Modifikatoren:g
  93. 93. Modifikatoren:g :i :a :m
  94. 94. Modifikatoren:g :i :a :m :ii :aa :mm
  95. 95. Modifikatoren :g :i :a :m:x(n) :nth(n)
  96. 96. Modifikatoren :g :i :a :m:x(n) :nth(n) :c(n) :p(n)
  97. 97. Modifikatoren :g :i :a :m:x(n) :nth(n) :c(n) :p(n) :r :ov :ex :rw
  98. 98. grammar Methoden regex {..} token {..} rule {..}
  99. 99. grammar Methoden regex {..} token {..} regex :ratchet {}rule {..} regex :ratchet :sigspace {}
  100. 100. grammar Methodengrammar webpage { rule TOP {<head> <body>} rule head {<meta>|<title>} … token title { <?after <title> .* <?before </title> }
  101. 101. grammar Methodengrammar webpage { rule TOP {<head> <body>} rule head {<meta>|<title>} … token title { <?after <title> .* <?before </title> } $/<head><title>
  102. 102. grammar sind Klassen $~MAIN $~Q $~Regex
  103. 103. What I Doperlfoundation.org/ perl6/index.cgi? perl_6_tablets
  104. 104. Thank You

×