ZendEngineを真面目にいじって正規表現リテラルを追加した話

F7dd7b43a0cc6c063f7d98ba23a1d359?s=47 久保田光則
March 03, 2013
3.4k

 ZendEngineを真面目にいじって正規表現リテラルを追加した話

F7dd7b43a0cc6c063f7d98ba23a1d359?s=128

久保田光則

March 03, 2013
Tweet

Transcript

  1. ;FOE&OHJOFΛਅ໘໨ʹ͍ͬͯ͡ ਖ਼نදݱϦςϥϧΛ௥Ճͨ͠࿩ ೥݄೔ҋ1)1ษڧձ!BOBUPP 13೥3݄4೔݄༵೔

  2. ΞδΣϯμ wࣗݾ঺հ wਖ਼نදݱϦςϥϧ࣮૷ͨ͠ wͲΜͳײ͡Ͱ࡞ۀͨ͠ͷ͔ 13೥3݄4೔݄༵೔

  3. ࣗݾ঺հ ͍͍ͻͱɻ !BOBUPP 13೥3݄4೔݄༵೔

  4. ࣗݾ঺հ wJEBOBUPPͰϒϩάॻ͍ͯΔ wຊ৬ͷݞॻ͖͸ʮ6*69σβΠφʔ݉ ιϑτ΢ΣΞΤϯδχΞʯ w࢓ࣄͩͱ͜͜൒೥Ҏ্σβΠϯ͹͔ͬ Γ΍ͬͯ·͢ 13೥3݄4೔݄༵೔

  5. ࠓճͷ͓࿩ w1)1ʹਖ਼نදݱϦςϥϧ࣮૷ͯ͠Έͨ Αʕͱ͍͏࿩ 13೥3݄4೔݄༵೔

  6. ਖ਼نදݱϦςϥϧͬͯԿ w1)1ʹ͸ͳ͍ wଞͷݴޠʹ͸Α͋͘Δ w1FSM 1ZUIPO +BWB4DSJQU 3VCZ FUD 13೥3݄4೔݄༵೔

  7. ͦ΋ͦ΋ͷಈػ wଞͷݴޠ࢖͍ʹͨ·ʹઞΒΕΔ ʮ1)1ͬͯਖ਼نදݱϦςϥϧ ΋ແ͍ͷϓΪϟʔ ""ུʯ 13೥3݄4೔݄༵೔

  8. ͍ͭΧοͱͳͬͯ wਖ਼نදݱϦςϥϧΛ࣮૷ͯ͠Έͨ 13೥3݄4೔݄༵೔

  9. 1)1ʹ࣮૷ͨ͠ ਖ਼نදݱϦςϥϧ wී௨ w3FHFYΦϒδΣΫτΛੜ੒  QIQ SFHFYIPHF NBUDIFTSFHFYNBUDI bGVHBIPHF` 

    13೥3݄4೔݄༵೔
  10. ྫ  QIQ ௚઀ϝιουݺͼग़͠΋͍͚Δ IPHF NBUDI bGVHBIPHF`  GVHB SFQMBDF

    bGVHBGVHB` bIPHF`  wී௨ 13೥3݄4೔݄༵೔
  11. σϞ 13೥3݄4೔݄༵೔

  12. ΍ͬͯΈͯࢥͬͨ͜ͱ wύον͕ࠓͷॴߦ͙Β͍ w·Μ΂Μͳ͘खΛ͍ΕΔࣄʹͳͬͨ wIUUQTHJTUHJUIVCDPNBOBUPP  13೥3݄4೔݄༵೔

  13. ۩ମతʹ͍ͬͨ͡ͱ͜Ζ wࣈ۟ղੳ wߏจղੳ wίϯύΠϧ w7.Ͱͷ࣮ߦ w૊ΈࠐΈΫϥεͷ௥Ճ ࠓ͔Β΍ͬͨ͜ͱΛͩΒͩΒઆ໌͠·͢ 13೥3݄4೔݄༵೔

  14. ·ͣ͸લ४උ 13೥3݄4೔݄༵೔

  15. ιʔείʔυͷऔಘ wHJUIVCʹϛϥʔ͕ஔ͍ͯ͋Δ HJUDMPOFIUUQHJUIVCDPNQIQQIQTSDHJU DEQIQTSD 13೥3݄4೔݄༵೔

  16. Ϗϧυ wσόοάγϯϘϧ෇͖ͰϏϧυ CVJMEDPOG DPOpHVSFFOBCMFEFCVHEJTBCMFBMM NBLF CVJMEDPOGGPSDF w࠶౓CVJMEDPOG͢Δͱ͖͸GPSDFΛ͚ͭΔ 13೥3݄4೔݄༵೔

  17. CVJMEDPOGͬͯԿ wDPOpHVSFϑΝΠϧΛੜ੒ wQIQͷϏϧυγεςϜͰ͸ɺDPOpHVSF εΫϦϓτͷੜ੒ʹBVUPDPOGΛ࢖ͬͯ Δ 13೥3݄4೔݄༵೔

  18. ςετΛಈ͔͢ NBLFUFTU FYQPSU5&454;FOEUFTUT QIQU NBLFUFTU wશςετέʔε࣮ߦ ͔͔࣌ؒΔ wಛఆͷςετέʔεͷΈ࣮ߦ 13೥3݄4೔݄༵೔

  19. (%#σόοΨͰಈ͔͢ wࣗ෼͸HEC͡Όͳͯ͘DHEC࢖ͬͯ·͢ HECTBQJDMJQIQ 13೥3݄4೔݄༵೔

  20. σϞ 13೥3݄4೔݄༵೔

  21. σΟϨΫτϦߏ଄ MT'cHSFQ 543. ;FOEݴޠॲཧܥͷίΞɻ CVJME FYU NBJO OFUXBSF QFBS TBQJ

    TDSJQUT UFTUT XJO 13೥3݄4೔݄༵೔
  22. (/6HMPCBMͷಋೖ wιʔείʔυಡΉͷʹඞਢͷπʔϧ HUBHTWλάϑΝΠϧੜ੒ IUBHTWT 13೥3݄4೔݄༵೔

  23. σϞ 13೥3݄4೔݄༵೔

  24. લ४උऴྃ 13೥3݄4೔݄༵೔

  25. ࣮ࡍͷ͍͡Γํ  ίʔυΛ͍͡Δ  NBLF͢Δ  ςετέʔε૸ΒͤΔ  όά͕͋ͬͨΒ HEC΍QSJOUGσόοάͰݪҼಛఆ

    ͜Εͷ܁Γฦ͠ 13೥3݄4೔݄༵೔
  26. ࣮ࡍʹ͍͍ͬͯ͘͡ wࣈ۟ղੳ wߏจղੳ wίϯύΠϥ w7. 13೥3݄4೔݄༵೔

  27. ࣈ۟ղੳثΛ͍͡Δ 13೥3݄4೔݄༵೔

  28. SFD஌ͬͯΔਓ w1)1ͷࣈ۟ղੳث͸SFDΛ࢖ͬͯੜ੒ w;FOE[FOE@MBOHVBHF@TDBOOFSM 13೥3݄4೔݄༵೔

  29. ద౰ʹ͍ͬͯ͡ΈΔ w࣮ࡍͷίʔυΛݟͳ͕Βɻ wྫ5@)&--0803-%τʔΫϯΛ௥Ճ 13೥3݄4೔݄༵೔

  30. ߏจղੳثΛ͍͡Δ 13೥3݄4೔݄༵೔

  31. CJTPO஌ͬͯΔਓ w1)1ͷࣈ۟ղੳث͸CJTPOΛ࢖ͬͯهड़ w;FOE[FOE@MBOHVBHF@QBSTFSZ wద౰ͳύλʔϯΛ௥Ճͯ͠ΈΔ 13೥3݄4೔݄༵೔

  32. ίϯύΠϥΛ͍͡Δ wCJTPOͷΞΫγϣϯ಺ͰύʔαͷΞΫ γϣϯͳ͍Ͱ7.༻ͷίʔυΛੜ੒ w;&/%@/&8@3&(&9ͱ͍͏໋ྩΛ 13೥3݄4೔݄༵೔

  33. 7.Λ͍͡Δ wਖ਼نදݱϦςϥϧ͔Β3FHFYΦϒδΣ ΫτΛ࡞੒͢Δ wͦͷͨΊʹ;&/%@/&8@3&(&9ͱ͍ ͏৽໋͍͠ྩΛ࡞Δ 13೥3݄4೔݄༵೔

  34. ໋ྩͷ௥Ճ w;FOE[FOE@7.@EFGIΛ͍͡Δ wσϞ 13೥3݄4೔݄༵೔

  35. ໋ྩͷ௥Ճ QIQ;FOE[FOE@WN@HFOQIQ ͓΋ΉΖʹҎԼͷίϚϯυΛୟ͘ 1)1ͷ7.ͷίʔυ͕ੜ੒͞ΕΔ ;FOE[FOE@WN@FYFDVUFI 13೥3݄4೔݄༵೔

  36. ࠓ໌͔͞ΕΔিܸͷࣄ࣮ w1)1ͷ7.ͷίʔυੜ੒ʹ͸1)1͕࢖ΘΕͯ ͍Δ w1)1͕ແ͍ͱ1)1ͷ7.͕ίϯύΠϧͰ͖ͳ ͍ʂ॥؀͍ͯ͠Δ 13೥3݄4೔݄༵೔

  37. wͳΜͰΘ͟Θ͟1)1Ͱ7.ͷίʔυੜ੒ ͯ͠Δͷ͔ ݴޠॲཧܥͷ಺෦7.ͷ໋ྩͷσΟεύονʹ͸ ͍͔ͭ͘ͷ΍Γํ͕ଘࡏ͢Δɻ ͦΕΒΛ؆୯ʹ੾Γସ͑ΔͨΊɻ ৄ͘͠͸ʮ:"37.BOJBDTʲୈճʳ໋ྩσΟε ύονͷߴ଎ԽʯͰάάΔ 13೥3݄4೔݄༵೔

  38. ผͷ໋ྩσΟεύον QIQ;FOE[FOE@WN@HFOQIQXJUIWN LJOE48*5$) wXJUIWNLJOEΦϓγϣϯΛ͚࣮ͭͯߦ w$"-- 48*5$) (050ͷ̏ͭɻ wIFMQ͚࣮ͭͯߦͰ࢖͑ΔΦϓγϣϯ͕Θ͔Δ 13೥3݄4೔݄༵೔

  39. 3FHFYΫϥεͷ௥Ճ wਖ਼نදݱΦϒδΣΫτͷͨΊͷ૊Έࠐ ΈͷΫϥεΛ௥Ճ wී௨ͷ֦ுϥΠϒϥϦͷ΍ͬͯΔ͜ͱ ͱҰॹ 13೥3݄4೔݄༵೔

  40. ·ͱΊ w1)1ʹ৽͍͠จ๏Λਅ໘໨ʹಋೖ͢Δ ͷ͚ͬ͜͏ΊΜͲ͍͘͞ 13೥3݄4೔݄༵೔

  41. ͜Ε͔Βͷల։  1)18JLJʹ3'$ॻ͘  QVMMSFRVFTUૹΔ  1)1*OUFSOBMTͰఏҊ͢Δ ࣮૷͕͏·͍ͬͨ͘Β ޤ͏͝ظ଴ 13೥3݄4೔݄༵೔

  42. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 13೥3݄4೔݄༵೔

  43. "OZRVFTUJPO 13೥3݄4೔݄༵೔