Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
ZendEngineを真面目にいじって正規表現リテラルを追加した話
久保田光則
March 03, 2013
0
3.5k
ZendEngineを真面目にいじって正規表現リテラルを追加した話
久保田光則
March 03, 2013
Tweet
Share
More Decks by 久保田光則
See All by 久保田光則
anatoo
1
300
anatoo
0
2.6k
anatoo
11
19k
anatoo
8
8.5k
anatoo
6
8.6k
anatoo
4
1.3k
anatoo
8
6k
anatoo
16
13k
anatoo
27
17k
Featured
See All Featured
eitanlees
112
10k
lemiorhan
627
44k
maltzj
502
36k
hursman
106
9.3k
tanoku
258
24k
hannesfritz
28
950
chriscoyier
683
180k
iamctodd
19
2k
jeffersonlam
329
15k
malarkey
193
8.6k
62gerente
587
200k
jrom
116
7.2k
Transcript
;FOE&OHJOFΛਅ໘ʹ͍ͬͯ͡ ਖ਼نදݱϦςϥϧΛՃͨ͠ ݄ҋ1)1ษڧձ!BOBUPP 133݄4݄༵
ΞδΣϯμ wࣗݾհ wਖ਼نදݱϦςϥϧ࣮ͨ͠ wͲΜͳײ͡Ͱ࡞ۀͨ͠ͷ͔ 133݄4݄༵
ࣗݾհ ͍͍ͻͱɻ !BOBUPP 133݄4݄༵
ࣗݾհ wJEBOBUPPͰϒϩάॻ͍ͯΔ wຊ৬ͷݞॻ͖ʮ6*69σβΠφʔ݉ ιϑτΣΞΤϯδχΞʯ wࣄͩͱ͜͜Ҏ্σβΠϯ͔ͬ Γͬͯ·͢ 133݄4݄༵
ࠓճͷ͓ w1)1ʹਖ਼نදݱϦςϥϧ࣮ͯ͠Έͨ Αʕͱ͍͏ 133݄4݄༵
ਖ਼نදݱϦςϥϧͬͯԿ w1)1ʹͳ͍ wଞͷݴޠʹΑ͋͘Δ w1FSM 1ZUIPO +BWB4DSJQU 3VCZ FUD 133݄4݄༵
ͦͦͷಈػ wଞͷݴޠ͍ʹͨ·ʹઞΒΕΔ ʮ1)1ͬͯਖ਼نදݱϦςϥϧ ແ͍ͷϓΪϟʔ ""ུʯ 133݄4݄༵
͍ͭΧοͱͳͬͯ wਖ਼نදݱϦςϥϧΛ࣮ͯ͠Έͨ 133݄4݄༵
1)1ʹ࣮ͨ͠ ਖ਼نදݱϦςϥϧ wී௨ w3FHFYΦϒδΣΫτΛੜ QIQ SFHFYIPHF NBUDIFTSFHFYNBUDI bGVHBIPHF`
133݄4݄༵
ྫ QIQ ϝιουݺͼग़͍͚͠Δ IPHF NBUDI bGVHBIPHF` GVHB SFQMBDF
bGVHBGVHB` bIPHF` wී௨ 133݄4݄༵
σϞ 133݄4݄༵
ͬͯΈͯࢥͬͨ͜ͱ wύον͕ࠓͷॴߦ͙Β͍ w·ΜΜͳ͘खΛ͍ΕΔࣄʹͳͬͨ wIUUQTHJTUHJUIVCDPNBOBUPP 133݄4݄༵
۩ମతʹ͍ͬͨ͡ͱ͜Ζ wࣈ۟ղੳ wߏจղੳ wίϯύΠϧ w7.Ͱͷ࣮ߦ wΈࠐΈΫϥεͷՃ ࠓ͔Βͬͨ͜ͱΛͩΒͩΒઆ໌͠·͢ 133݄4݄༵
·ͣલ४උ 133݄4݄༵
ιʔείʔυͷऔಘ wHJUIVCʹϛϥʔ͕ஔ͍ͯ͋Δ HJUDMPOFIUUQHJUIVCDPNQIQQIQTSDHJU DEQIQTSD 133݄4݄༵
Ϗϧυ wσόοάγϯϘϧ͖ͰϏϧυ CVJMEDPOG DPOpHVSFFOBCMFEFCVHEJTBCMFBMM NBLF CVJMEDPOGGPSDF w࠶CVJMEDPOG͢Δͱ͖GPSDFΛ͚ͭΔ 133݄4݄༵
CVJMEDPOGͬͯԿ wDPOpHVSFϑΝΠϧΛੜ wQIQͷϏϧυγεςϜͰɺDPOpHVSF εΫϦϓτͷੜʹBVUPDPOGΛͬͯ Δ 133݄4݄༵
ςετΛಈ͔͢ NBLFUFTU FYQPSU5&454;FOEUFTUT QIQU NBLFUFTU wશςετέʔε࣮ߦ ͔͔࣌ؒΔ wಛఆͷςετέʔεͷΈ࣮ߦ 133݄4݄༵
(%#σόοΨͰಈ͔͢ wࣗHEC͡Όͳͯ͘DHECͬͯ·͢ HECTBQJDMJQIQ 133݄4݄༵
σϞ 133݄4݄༵
σΟϨΫτϦߏ MT'cHSFQ 543. ;FOEݴޠॲཧܥͷίΞɻ CVJME FYU NBJO OFUXBSF QFBS TBQJ
TDSJQUT UFTUT XJO 133݄4݄༵
(/6HMPCBMͷಋೖ wιʔείʔυಡΉͷʹඞਢͷπʔϧ HUBHTWλάϑΝΠϧੜ IUBHTWT 133݄4݄༵
σϞ 133݄4݄༵
લ४උऴྃ 133݄4݄༵
࣮ࡍͷ͍͡Γํ ίʔυΛ͍͡Δ NBLF͢Δ ςετέʔεΒͤΔ όά͕͋ͬͨΒ HECQSJOUGσόοάͰݪҼಛఆ
͜Εͷ܁Γฦ͠ 133݄4݄༵
࣮ࡍʹ͍͍ͬͯ͘͡ wࣈ۟ղੳ wߏจղੳ wίϯύΠϥ w7. 133݄4݄༵
ࣈ۟ղੳثΛ͍͡Δ 133݄4݄༵
SFDͬͯΔਓ w1)1ͷࣈ۟ղੳثSFDΛͬͯੜ w;FOE[FOE@MBOHVBHF@TDBOOFSM 133݄4݄༵
దʹ͍ͬͯ͡ΈΔ w࣮ࡍͷίʔυΛݟͳ͕Βɻ wྫ5@)&--0803-%τʔΫϯΛՃ 133݄4݄༵
ߏจղੳثΛ͍͡Δ 133݄4݄༵
CJTPOͬͯΔਓ w1)1ͷࣈ۟ղੳثCJTPOΛͬͯهड़ w;FOE[FOE@MBOHVBHF@QBSTFSZ wదͳύλʔϯΛՃͯ͠ΈΔ 133݄4݄༵
ίϯύΠϥΛ͍͡Δ wCJTPOͷΞΫγϣϯͰύʔαͷΞΫ γϣϯͳ͍Ͱ7.༻ͷίʔυΛੜ w;&/%@/&8@3&(&9ͱ͍͏໋ྩΛ 133݄4݄༵
7.Λ͍͡Δ wਖ਼نදݱϦςϥϧ͔Β3FHFYΦϒδΣ ΫτΛ࡞͢Δ wͦͷͨΊʹ;&/%@/&8@3&(&9ͱ͍ ͏৽໋͍͠ྩΛ࡞Δ 133݄4݄༵
໋ྩͷՃ w;FOE[FOE@7.@EFGIΛ͍͡Δ wσϞ 133݄4݄༵
໋ྩͷՃ QIQ;FOE[FOE@WN@HFOQIQ ͓ΉΖʹҎԼͷίϚϯυΛୟ͘ 1)1ͷ7.ͷίʔυ͕ੜ͞ΕΔ ;FOE[FOE@WN@FYFDVUFI 133݄4݄༵
ࠓ໌͔͞ΕΔিܸͷࣄ࣮ w1)1ͷ7.ͷίʔυੜʹ1)1͕ΘΕͯ ͍Δ w1)1͕ແ͍ͱ1)1ͷ7.͕ίϯύΠϧͰ͖ͳ ͍ʂ॥͍ͯ͠Δ 133݄4݄༵
wͳΜͰΘ͟Θ͟1)1Ͱ7.ͷίʔυੜ ͯ͠Δͷ͔ ݴޠॲཧܥͷ෦7.ͷ໋ྩͷσΟεύονʹ ͍͔ͭ͘ͷΓํ͕ଘࡏ͢Δɻ ͦΕΒΛ؆୯ʹΓସ͑ΔͨΊɻ ৄ͘͠ʮ:"37.BOJBDTʲୈճʳ໋ྩσΟε ύονͷߴԽʯͰάάΔ 133݄4݄༵
ผͷ໋ྩσΟεύον QIQ;FOE[FOE@WN@HFOQIQXJUIWN LJOE48*5$) wXJUIWNLJOEΦϓγϣϯΛ͚࣮ͭͯߦ w$"-- 48*5$) (050ͷ̏ͭɻ wIFMQ͚࣮ͭͯߦͰ͑ΔΦϓγϣϯ͕Θ͔Δ 133݄4݄༵
3FHFYΫϥεͷՃ wਖ਼نදݱΦϒδΣΫτͷͨΊͷΈࠐ ΈͷΫϥεΛՃ wී௨ͷ֦ுϥΠϒϥϦͷͬͯΔ͜ͱ ͱҰॹ 133݄4݄༵
·ͱΊ w1)1ʹ৽͍͠จ๏Λਅ໘ʹಋೖ͢Δ ͷ͚ͬ͜͏ΊΜͲ͍͘͞ 133݄4݄༵
͜Ε͔Βͷల։ 1)18JLJʹ3'$ॻ͘ QVMMSFRVFTUૹΔ 1)1*OUFSOBMTͰఏҊ͢Δ ࣮͕͏·͍ͬͨ͘Β ޤ͏͝ظ 133݄4݄༵
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 133݄4݄༵
"OZRVFTUJPO 133݄4݄༵