Perl 6 Regex und Grammars

938 views
887 views

Published on

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

1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
938
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

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

×