Perl の構文解析器を用いた WebAssembly の生成

60e652d0244f47d2da4e1f7e712f9328?s=47 K
February 22, 2018

Perl の構文解析器を用いた WebAssembly の生成

卒研発表で LT をしてきました!!

60e652d0244f47d2da4e1f7e712f9328?s=128

K

February 22, 2018
Tweet

Transcript

  1. 1FSMͷߏจղੳثΛ༻͍ͨ 8FC"TTFNCMZͷੜ੒ (ɹ্઒ɹܚ ླྀٿେֶ޻ֶ෦৘ใ޻ֶՊ
 ۄ৓ݚڀࣨ

  2. ࣌͸ฏ੒

  3. ੈʹ͸༷ʑͳ΢ΣϒαʔϏε ͕ཚཱ͍ͯͨ͠

  4. ͦΜͳத

  5. ͋ΔΤϯδχΞ͕ݴͬͨ

  6. ͳΜͰԶ͸+BWBTDSJQU Λॻ͍͍ͯΔΜͩʜ

  7. Զ͸1FSM͚ͩͰ
 ։ൃ͍ͨ͠Μͩʜ

  8. ໨త ͳͥ͜ͷݚڀΛߦͬͨͷ͔ʁ

  9. ໨త w ΢ΣϒαʔϏεΛ։ൃ͢ΔͨΊʹେ͖ͭ͘ͷ
 ໾ׂ͕ඞཁ w ϑϩϯτΤϯυɿϢʔβʢϒϥ΢βʣଆͰॲཧ͢Δ w όοΫΤϯυɿαʔόʔଆͰॲཧ͢Δ

  10. ໨త w ϑϩϯτΤϯυɿओʹ+BWBTDSJQUͰ։ൃ w όοΫΤϯυɿ1FSM 3VCZͳͲ༷ʑͳݴޠͰ։ൃ

  11. ໨త w ΄ͱΜͲͷ৔߹ϑϩϯτΤϯυɺόοΫΤϯυͰ
 ඞཁͳݴޠΛ෼͚Δඞཁ͕͋Δ w ׳ΕͯΔݴޠҰ͚ͭͩͰ։ൃ͍ͨ͠
 ʢ๻ͷ৔߹͸1FSM Ҏ߱1FSMͱݺͿʣ w 1FSMίϯύΠϥʹ໨৽͍͠΋ͷൃల͕ͳ͍ͨΊ


    ࠓճ͸1FSMͰߦͬͨ
  12. ࣮ߦ·ͰͷྲྀΕ 1FSMίʔυΛϒϥ΢β্Ͱ࣮ߦ͢Δ·Ͱ

  13. ࣮ߦͷྲྀΕ w 1FSMͷߏจղੳߏจ໦ͷੜ੒ w ߏจ໦͔Β--7.*3ͷੜ੒ w --7.*3͔Β8FC"TTFNCMZͷੜ੒ w 8FC"TTFNCMZΛϒϥ΢βͰ࣮ߦ

  14. ࣮ߦͷྲྀΕ

  15. ߏจղੳ w ޒౢ૖ߊࢯ͕։ൃͨ͠$PNQJMFSϞδϡʔϧΛ
 վྑͯ͠࢖༻ w $PNQJMFS-FYFSʢࣈ۟ղੳثʣͰτʔΫϯྻΛ࡞੒ w $PNQJMFS1BSTFSʢߏจղੳثʣͰ
 τʔΫϯྻΛجʹߏจ໦Λ࡞੒ w

    $PNQJMFS$PEF(FOFSBUPS--7.ʢίʔυੜ੒ثʣͰ
 ߏจ໦Λجʹ--7.*3Λੜ੒
 ʢཪͰ͸--7.ϥΠϒϥϦΛར༻ʣ
  16. &NTDSJQUFO w 8FC"TTFNCMZΛੜ੒Λ͢ΔͨΊͷ
 πʔϧνΣΠϯ w ίϯύΠϥόοΫΤϯυͱͯ͠--7.Λ
 ࠾༻͍ͯ͠Δ w ઐ༻ͷ--7.΋͘͠͸࠷৽൛ͷ
 ΦϦδφϧͷ--7.Λ࢖༻͢Δ

    w ࠓճ͸ΦϦδφϧͷ--7.Λ࢖༻
  17. &NTDSJQUFO

  18. ݚڀͨ͜͠ͱ 1FSM͔Β8FC"TTFNCMZΛੜ੒͢ΔͨΊʹ

  19. None
  20. $MBOHʹ༩͑ͨ࣌ͷ
 --7.*3ίʔυൺֱ

  21. Y@BQQMFNBDPTYΛ
 λʔήοτͱͨ͠৔߹

  22. None
  23. XBTNVOLOPXOVOLOPXOFMGΛ
 λʔήοτͱͨ͠৔߹

  24. None
  25. ͜ΕΒΛൺֱͯ͠ w େ͖ͳҧ͍ͷΈ w Y@BQQMFNBDPTYͷ৔߹͸
 ؔ਺͔Β஋Λฦͯ݁͠ՌΛಘΔ w XBTNVOLOPXOVOLOPXOFMGͷ৔߹͸
 Ҿ਺ʹࢀর౉͠Λ͢Δ͜ͱͰ݁ՌΛಘΔ w

    ͭ·ΓλʔήοτʹΑͬͯγϯλοΫε͕มԽ͢Δ
  26. $MBOH಺Ͱͷॲཧ w λʔήοτʹΑͬͯγϯλοΫεΛมԽͤ͞Δ w $MBOH಺Ͱ--7.ϥΠϒϥϦͷ֤ϝιουΛ
 ༻͍ͯ--7.*3Λੜ੒͢Δ w λʔήοτʹΑΔγϯλοΫεͷมߋ͸
 --7.ϥΠϒϥϦͰͳ͘$MBOHͰߦ͏

  27. 1FSMίʔυੜ੒ث಺Ͱ΋
 λʔήοτʹ߹Θͤͯ
 --7.*3Λੜ੒͢ΔॲཧΛมߋ͢Δ

  28. ͲͷΑ͏ͳม਺ΛҾ਺ʹ౉͔͢ɺ
 ม਺ͰฦΓ஋Λड͚औΔͨΊͷهड़

  29. ݺͼग़ؔ͢਺ͷҾ਺΍ܕΛهड़͢Δ

  30. ࡞੒͞ΕͨϏϧτΠϯؔ਺TBZͷ--7.*3 XBTNVOLOPXOVOLOPXOFMGͷ৔߹ Y@BQQMFNBDPTYͷ৔߹

  31. ࣮ߦ ࣮ࡍʹ1FSMΛϒϥ΢βͰ࣮ߦ͢Δ

  32. σϞͰָ͓͠Έ͍ͩ͘͞

  33. ·ͱΊ w 1FSMͷߏจղੳΛߦͬͯ8FC"TTFNCMZΛੜ੒ͨ͠ w $MBOHͰੜ੒͞ΕΔ֤λʔήοτͷ--7.*3Λௐࠪ͠ ͨ w λʔήοτʹΑͬͯ--7.*3ͷγϯλοΫε͕มԽ͢ Δ͜ͱ͕Θ͔ͬͨ w

    ίʔυੜ੒ثΛλʔήοτʹ߹Θͤͯվྑͨ͠ w 1FSMPOCSPXTFSΛ࣮ݱͨ͠
  34. ࠓޙͷ՝୊ w ߏจղੳث͕1FSMͷߏจΛ׬શʹରԠͰ͖ͯͳ͍ ͷͰɺվળ͢Δ༨஍͕͋Δ w ίʔυੜ੒ث΋ಉ͜͡ͱ͕ݴ͑Δ w #$Λ༻͍ͨผΞϓϩʔν΋ݕ౼Ͱ͖Δ

  35. ࠓ·Ͱ͋Γ͕ͱ͏͍͟͝·ͨ͠