ParserGenerator ¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î¸½ºß¤È¤Îº¹Ê¬(No.3)



  • Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
  • ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
[[¤Ê¤Ç¤·¤³¡õ°ª¤Þ¤È¤á>Nadeshiko_programming4JapaneseStyle]]¡Ã[[ÆüËܸì¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì>NIHONGO_Programing]]

¥ª¥ì¥ª¥ì¤Ê¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤È¤«¥É¥á¥¤¥óÆò½¸À¸ì¤òºî¤Ã¤¿¤ê¤¹¤ë¤È¤­¡¢yacc¤È¤«bison¤È¤¤¤¦¥Ñ¡¼¥µ¡¼(¹½Ê¸²òÀÏ)¤Ã¤Æ¥Ä¡¼¥ë¤òÍøÍѤ¹¤ë¤é¤·¤¤¡£

#contents

*°ìÈ̶µÍÜ [#udbd4a58]
-»ú¶ç²òÀÏ - Wikipedia
--http://ja.wikipedia.org/wiki/%E5%AD%97%E5%8F%A5%E8%A7%A3%E6%9E%90
-lex - Wikipedia
--http://ja.wikipedia.org/wiki/Lex

-¹½Ê¸²òÀÏ - Wikipedia
--http://ja.wikipedia.org/wiki/%E6%A7%8B%E6%96%87%E8%A7%A3%E6%9E%90
-¥Ð¥Ã¥«¥¹¡¦¥Ê¥¦¥¢µ­Ë¡ - Wikipedia
--http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%83%E3%82%AB%E3%82%B9%E3%83%BB%E3%83%8A%E3%82%A6%E3%82%A2%E8%A8%98%E6%B3%95
-¥³¥ó¥Ñ¥¤¥é¥³¥ó¥Ñ¥¤¥é - Wikipedia
--http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9
-yacc - Wikipedia
--http://ja.wikipedia.org/wiki/Yacc

*¥Ñ¡¼¥µ¥¸¥§¥Í¥ì¡¼¥¿ [#r6eb4140]
-¥Ñ¡¼¥µ¡¼¶²ÉݾÉ
--http://capsctrl.que.jp/kdmsnr/wiki/bliki/?ParserFear
-À¤³¦°ì´Êñ¤Ê¥Ñ¡¼¥µ¥¸¥§¥Í¥ì¡¼¥¿
--http://tnomura9.exblog.jp/7816001/
-Javascript¤Ç¥Ñ¡¼¥µ¥¸¥§¥Í¥ì¡¼¥¿¤ò½ñ¤¤¤Æ¤ß¤¿
--http://inforno.net/articles/2007/09/08/parser-combinators-in-python
-¥Ñ¡¼¥µ¥¸¥§¥Í¥ì¡¼¥¿¤Ï¡¢¼«Ê¬¤Çºî¤Ã¤¿¤Û¤¦¤¬¤¤¤¤(LL¤Ê¤é)¡£
--http://d.hatena.ne.jp/keisukefukuda/20070705/p1

*Ruby¤Ë¤è¤ëDSL [#z0787e74]
-[[Ruby¤Çºî¤ë´ñ̯¤Ê¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì~Esoteric Language~:http://www.amazon.co.jp/gp/product/4839927847?ie=UTF8&tag=plaseboeffect-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4839927847]] Amazon
--¤¢¤Ê¤¿¤Ï¡Ö+-><.,[]¡×¤Î8¤Ä¤Îµ­¹æ¤·¤«¤Ê¤¤¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ä¡¢¶õÇò¤À¤±¤Ç¹½À®¤µ¤ì¤ë¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤¬¤¢¤ë¤Î¤ò¤´Â¸¤¸¤À¤í¤¦¤«¡£Ëܽñ¤Ç¤Ï¡¢¤½¤ó¤Ê´ñ̯¤Ê¸À¸ì(Esoteric Language)¤òÂêºà¤Ë¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤Îºî¤êÊý¤ò²òÀ⤷¤Þ¤¹¡£
-[[Ruby¤ò256ÇܻȤ¦¤¿¤á¤ÎËÜ_̵ƻÊÔ:http://www.amazon.co.jp/gp/product/4756137091?ie=UTF8&tag=plaseboeffect-22&linkCode=as2&camp=247&creative=7399&creativeASIN=4756137091]] Amazon
--Ruby+Racc¤Ê¤é¡¢¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì³«È¯¤À¤Ã¤Æ³Ú¤·¤¯¤Ê¤ë!¥Ñ¡¼¥µ¥¸¥§¥Í¥ì¡¼¥¿¤È¤¤¤¦¹ÅÇɤʥͥ¿¤ò256ÇÜή¤Ë´°Á´²òÀâ¡£¥³¥ì¤µ¤¨¤¢¤ì¤Ð¡¢¥­¥ß¤âº£Æü¤«¤é¸À¸ì³«È¯¼Ô¤À!
-¤Þ¤Ä¤â¤ÈľÅÁ¡¡¥×¥í¥°¥é¥ß¥ó¥°¤Î¥ª¥­¥Æ Âè6²ó ¥á¥¿¥×¥í¥°¥é¥ß¥ó¥°
--http://itpro.nikkeibp.co.jp/article/COLUMN/20070604/273453/
--¤Þ¤È¤á¤Æ¤ß¤ë¤È¡¤Ruby¤ÏÈó¾ï¤ËDSL¸þ¤­¤Ê¸À¸ì¤À¤Èʬ¤«¤ê¤Þ¤¹¡£
-Ruby¤Ç¸À¸ìÆâDSL¤ò¼Â¸½¤¹¤ë¤¿¤á¤Î»²¹Íʸ¸¥¤Ø¤Î¥ê¥ó¥¯¤ò¤Þ¤È¤á¤Æ¤ß¤ë - irykaze¤ÎÆüµ­
--http://rubyist.g.hatena.ne.jp/irykaze/20081207/1230815685
-¥á¥¿¥×¥í¥°¥é¥ß¥ó¥°¤ò»È¤Ã¤ÆRuby¤Ë¥×¥í¥Ñ¥Æ¥£¤òÄɲ乤ë
--http://www.infoq.com/jp/articles/properties-metaprogramming
-Racc ¤ÇÍ·¤Ü¤¦
--Racc¤ÇÅÅÂî¤ò¤¤¤í¤¤¤íºî¤ë¥Á¥å¡¼¥È¥ê¥¢¥ë
--http://www.mnet.ne.jp/~tnomura/racc.html

-¶Ë¤á¤èRubyÆ»¡§Âè5²ó Ruby¤Ç½ñ¤¯¥Õ¥í¥ó¥È¥¨¥ó¥É¤È¥Ñ¡¼¥¶
--http://www.notwork.org/~gotoken/mag/cmagazine/gokudo/5th/

*Ruby¤Î¥Ñ¡¼¥µ¡¼ [#wcf457df]

2002 ǯ 12 ·î¤Ë¥¤¥ó¥×¥ì¥¹¤«¤é½ÐÈǤµ¤ì¤¿½ñÀÒ¡ØRuby¥½¡¼¥¹¥³¡¼¥É´°Á´²òÀÏ¡Ù¡£(¤¿¤·¤«)1.6¤¢¤¿¤ê¤¬ÂоݤÀ¤Ã¤¿¤Ï¤º¡£¤½¤ÎÂè2Éô¤¬¥Ñ¡¼¥µ¡¼¤Î²òÀâ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

-[[Ruby¥½¡¼¥¹¥³¡¼¥É´°Á´²òÀâ:http://www.loveruby.net/ja//rhg/book/]]
--[[Âè8¾Ï Ruby¸À¸ì¤Î¾ÜºÙ:http://www.loveruby.net/ja//rhg/book/spec.html]]
--[[Âè9¾Ï ®½¬<code>yacc</code>:http://www.loveruby.net/ja//rhg/book/yacc.html]]
--[[Âè10¾Ï ¥Ñ¡¼¥µ:http://www.loveruby.net/ja//rhg/book/parser.html]]
--[[Âè11¾Ï ¾õÂÖÉÕ¤­¥¹¥­¥ã¥Ê:http://www.loveruby.net/ja//rhg/book/contextual.html]]
--[[Âè12¾Ï ¹½Ê¸Ìڤι½ÃÛ:http://www.loveruby.net/ja//rhg/book/syntree.html]]

*Ȭ³Ñ¸¦µæ½ê¡§kmyacc [#w6a577a5]

¥¯¥¸¥éÈô¹Ô´ù¤µ¤ó¤Ë¤è¤ëkmyacc²òÀâµ­»ö¡£°ª¤Ë¤â¡¢³èÌö¤·¤Æ¤¤¤ë¤é¤·¤¤¡£

-Shibuya.abc¤è¤ê¡¢·ÈÂÓÅÅÏäÇÍ·¤Ù¤ë²¶Í͸À¸ì¤òºî¤Ã¤Æ¤¢¤½¤Ö(1)
--http://www.hakkaku.net/articles/20080317-170
-Flash/Flex ¤Çºî¤ë²¶Í͸À¸ì(kmyaccÊÔ)¡Ê1¡Ë - kmyacc ¤Î ActionScript ÈǤò»È¤Ã¤Æ¤ß¤è¤¦
--http://www.hakkaku.net/articles/20080226-154
-Flash/Flex ¤Çºî¤ë²¶Í͸À¸ì(kmyaccÊÔ)¡Ê2¡Ë - kmyacc ¤Ç BASIC¤Ã¤Ý¤¤¸À¸ì¤òºî¤Ã¤Æ¤ß¤è¤¦
--http://www.hakkaku.net/articles/20080307-158

* SDL + yacc [#c7067944]
-SDL¤ò»È¤¦: "Pirates Ho!"¤ÎÃÂÀ¸ - LinuxÈÇ¥²¡¼¥à¤ò¥¼¥í¤«¤éºîÀ®¤¹¤ë
--http://www.ibm.com/developerworks/jp/linux/library/l-pirates/
-SDL ¤Î»ÈÍÑ¡¢Âè2²ó: "Pirates Ho!" ¤Î¥³¡¼¥Ç¥£¥ó¥° - ¿·µ¬¥²¡¼¥à¡¦¥³¡¼¥Ç¥£¥ó¥°¤ÎºÇ½é¤Î¥¹¥Æ¥Ã¥×
--http://www.ibm.com/developerworks/jp/linux/library/l-pirates2/
-SDL ¤Î»ÈÍÑ¡¢Âè 3 ²ó: ¥°¥é¥Õ¥£¥Ã¥¯¡¦¥Ç¥¶¥¤¥ó - "Pirates Ho!" ¤Î¥¹¥È¡¼¥ê¡¼¤ÎÀ©ºî¤È¥°¥é¥Õ¥£¥Ã¥¯¡¦¥Ç¥¶¥¤¥ó
--http://www.ibm.com/developerworks/jp/linux/library/l-pirates3/
-SDL ¤Î»ÈÍÑ¡¢Âè4²ó: lex¤ª¤è¤Óyacc - ¥¹¥¯¥ê¥×¥È¤ª¤è¤ÓGUI¥Ç¥¶¥¤¥ó¤Î¤¿¤á¤Î¥Ñ¡¼¥µ¡¼¤Î¹½ÃÛ
--http://www.ibm.com/developerworks/jp/linux/library/l-pirates4/index.html
-SDL¤Î»ÈÍÑ¡¢Âè5²ó:Pirates Ho! ¤Ë¤ª¤±¤ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹À߷פθ¶Â§ - ´Ê·éÀ­¡¢°ì´ÓÀ­¡¢¤ª¤è¤ÓË×Ƭ¤Ç¤­¤ë¤³¤È
--http://www.ibm.com/developerworks/jp/linux/library/l-pirates5/index.html

*yacc¤Î¥µ¥ó¥×¥ë [#ye24e746]

yacc¤ËÆɤ߹þ¤Þ¤»¤ëʸˡÄêµÁ¤ò¡¢BNF(¥Ð¥Ã¥«¥¹-¥Ê¥¦¥¢¡¼µ­Ë¡) ¤È¸Æ¤Ö¡£

°Ê²¼¤Ï¡¢Basic¤Îʸˡ¤òBNF¤Çµ­½Ò¤·¤¿¥µ¥ó¥×¥ë

-[[Tiny BASIC for JavaScript:http://www.kero2.org/js/tbasic_n6.htm]]
-[[Tiny BASIC JavaScript ¤ÎÀâÌÀ:http://www.kero2.org/tb_ex.cgi]]

¥Ñ¥½¥³¥óóÕÌÀ´ü¤ËÏÃÂê¤Ê¤Ã¤¿¥ß¥Ë¸À¸ì¡£[[Tiny BASIC - Wikipedia:http://ja.wikipedia.org/wiki/Tiny_BASIC]]

-[[Tiny BASIC - Wikipedia(±Ñ¸ì):http://en.wikipedia.org/wiki/Tiny_BASIC]]¡¡BNF¤Ë¤è¤ëʸˡÄêµÁ¤¬¤¢¤ë¡£

¤³¤ó¤Ê¤Î¤â¤¢¤Ã¤¿¡£

-[[BASIC interpreter:http://caml.inria.fr/pub/docs/oreilly-book/html/book-ora058.html]]
-[[Comp.compilers: BNF for a BASIC compiler:http://compilers.iecc.com/comparch/article/02-09-171]]
-[[BNF Grammar - Rosetta Code:http://rosettacode.org/wiki/BNF_Grammar]]

* ¤½¤Î¤Û¤« [#t0db21a0]
-[[Bison 1.28ÆüËܸì¥Þ¥Ë¥å¥¢¥ë::http://www.bookshelf.jp/texi/bison/bison-ja.html#SEC_Top]] ¹½Ê¸²òÀϤβòÀâµ­»ö¤È¤·¤Æ¤âÈó¾ï¤ËÀ°Íý¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

-[[YappoLogs: yacc ¤È lex ¤Ç´Ê°×¸À¸ì¤Î AcotieScript ¤Ã¤Æ¤Îºî¤Ã¤Æ¤ß¤¿:http://blog.yappo.jp/yappo/archives/000665.html]]
-[[C¥³¥ó¥Ñ¥¤¥éÀß·×(yacc¡¦lex¤Î±þÍÑ):http://ns.pwv.co.jp/take_public_html/SampleC/SampleC.html]]
-[[¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì½èÍý:http://www.hpcs.cs.tsukuba.ac.jp/~msato/lecture-note/comp-lecture/]]
-[[¹½Ê¸²òÀϵڤӲòÀϥġ¼¥ë¤Î»È¤¤Êý:http://kaiunix.cs.shinshu-u.ac.jp/Lesson/ProgLanTh/2011/yacclex.html]]
-[[kmyacc - ¿¸À¸ìÂбþLALR¥Ñ¡¼¥µ¡¼À¸À®·Ï:http://www005.upp.so-net.ne.jp/kmori/kmyacc/index.html]]
-[[yacc & lex|ÆüËܸì¤Ç¤ª£ë:http://www.nihongodeok.net/thread/pc.2ch.net/test/read.cgi/unix/1031801314/]]
-[[C¸À¸ì_¥è¥¿Ï佤Î4 ¡ÖÅÅÂî¤òºî¤Ã¤Æ¤ß¤è¤¦¡×:http://kmaebashi.com/programmer/c_yota/calc.html]]
-[[How to use yacc:http://www.watanabe.nuie.nagoya-u.ac.jp/member/asakura/compiler/yacc/]]
-[[Yacc...¤½¤·¤ÆLex¤ò¤è¤ß¤¬¤¨¤é¤»¤ë:http://www.ibm.com/developerworks/jp/linux/library/l-lex/index.html]]
-[[¥³¥ó¥Ñ¥¤¥é - ¥Ï¡¼¥É¥¦¥§¥¢¤È¤«¸¦µæ½ê:http://sites.google.com/site/hardware007laboratory/home/compiler]]
-[[¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤òºî¤ë:http://kmaebashi.com/programmer/devlang/index.html]]
-[[¥¦¥Î¥¦¥é¥Ü by Zynga Japan: 1»þ´Ö¤Çºî¤ë´Ê°×¥¹¥¯¥ê¥×¥È¸À¸ì(JavaScript):http://labs.unoh.net/2007/03/1javascript.html]]

-[[¹½Ê¸²òÀϵڤӲòÀϥġ¼¥ë¤Î»È¤¤Êý:http://kaiunix.cs.shinshu-u.ac.jp/Lesson/ProgLanTh/2011/yacclex.html]]
-[[¹½Ê¸²òÀϤμºݡ§yacc¤Î»È¤¤Êý:http://www.hpcs.cs.tsukuba.ac.jp/~msato/lecture-note/comp-lecture/note5.html]]
-[[¥×¥í¥°¥é¥Þ¤Îͧ Âè½½¥ËÊó¡§bison ¤ò»È¤Ã¤Æ¤ß¤ë:http://www7b.biglobe.ne.jp/robe/pf/pf012.html]]

yacc°Ê³°¤Ë¤â¤¢¤ë¡£

-[[antlr/ANTLRWorks¤ò»È¤Ã¤Æ¤ß¤ë - PukiWiki:http://www.pwv.co.jp/~take/TakeWiki/index.php?antlr%2FANTLRWorks%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B]]
-[[ANTLR¤ò»È¤Ã¤Æ¤ß¤ë:http://www.limy.org/program/java/antlr/step1.html]]


* javaScript¤È¡¢2015¤¢¤¿¤ê¤Þ¤Ç¤Îή¹Ô [#z54aaf4b]

¤¸¤Ä¤Ï¡¢¼þ²ó¤ª¤¯¤ì¡£

-[[²¿¤È¤Ê¤¯ÊÙ¶¯¤·¤¿µ¤Ê¬¤Ë¤Ê¤ì¤ë¥Ñ¡¼¥µÆþÌç:http://www.slideshare.net/takahashim/what-is-parser]] 2015-02

-[[Parsing Expression Grammar - Wikipedia:http://ja.wikipedia.org/wiki/Parsing_Expression_Grammar]]

-[[PEG.js &#8211; Parser Generator for JavaScript:http://pegjs.org/]]
-[[JavaScript¤ÇÆ°ºî¤¹¤ë¥Ñ¡¼¥µ¥¸¥§¥Í¥ì¡¼¥¿PEG.js¤ò»È¤Ã¤Æ¤ß¤ë - atdxfe's Blog:http://atdxfe.hatenablog.com/entry/20130820/1377020017]]
-[[²¶¤Îaltjs¤¬¤³¤ó¤Ê¤Ë´Êñ¤Ëpegjs¤Çºî¤ì¤ë¤ï¤±¤¬¤Ê¤¤ - Qiita:http://qiita.com/h_demon/items/0b1c68f50ae8667cdffd]]

-[[Jison:http://zaach.github.io/jison/]]
-[[JisonÆþÌç!!! - ¥×¥í¥°¥é¥à¥â¥°¥â¥°:http://itchyny.hatenablog.com/entry/20110711/1310387128]]

-[[javascript¤Çbison/lex - NAVER ¤Þ¤È¤á:http://matome.naver.jp/odai/2137764196894476501]]


¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS