catch.jp-wiki
¥×¥í¥°¥é¥ß¥ó¥°
±Ñ¸ì³Ø½¬
ÍúÎò
¸¡º÷
Dropdown
ÊÔ½¸
źÉÕ
°ìÍ÷
making_script02
making_script02
¤ÎÊÔ½¸
https://www.catch.jp:443/wiki/editedit.php?making_script02
-- ¿÷·Á¤È¤¹¤ë¥Ú¡¼¥¸ --
ASP.net
AppleScript
BSD-MIT¥é¥¤¥»¥ó¥¹Èæ³Óɽ
Blockly/CustomBlock
Blockly/Documents
Blockly/Toolbox_WorkSpace
Blockly/Tutorial
Bookmarklet¤Îºî¤êÊý
BracketName
Build_Blockly-Games_Win
CSS_Framework
Chrome
CodingSkill
Desktop Movie
Desktop Movie Mac
Education_and_Programing
Education_and_Programing_toools
English/English-NReading
English/English-News
English/English-Word
Firebug
Firefox OS
FormattingRules
Free_Open_Document
FrontPage
Git_Github
Git_Github/Git_Githubhub for Windows
Git_Github/TortoiseGit_Github
Github_pages
Google_Closure_Tools
Google_code
HTML5+JavaScript
Help
History
Inkscape Function-Plot
Inno-setup
InterWiki
InterWikiName
InterWikiSandBox
JavaScript¥á¥â
Light weight Desktop
Linux_Desktop_Select
MDwiki
MenuBar
MenuBar2
NIHONGO_Programing
Nadeshiko_programming4JapaneseStyle
OSI_History
OpenOffice.org/Impress_template
PHP
PaintShopPro
PanDoc
ParserGenerator
Phaser
PowerPoint¤Ç¥¹¥¯¥ê¡¼¥ó¥»¡¼¥Ð¡¼
Processing.js´ðÁúÇ®ÆþÌç
Processing¤Ç¥µ¥¦¥ó¥É
Processing´ðÁúÇ®ÆþÌç
Programing
Programing/Blockly2014
Programing/Blockly2017
Programing/LibreLogo
Programing/MIT App Inventor2
Programing/scratch
Project_Management_tools
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
ReVIEW
RecentDeleted
RegularExpression
SSH
SandBox
Selenium
Sociology_psychology
SoftwareTest
SoraMame.Block
SoraMame.ps.js
SoraMame.ps.js/Reference
SoraMame.ps.js/Samples
SoraMame.ps.js/Syntax_Style
SoraMame.ps.js/ÆþÌç
SoraMame.ps.js/ÆþÌç/Casestudy
SoraMame.ps.js/ÆþÌç/Glossary
SoraMame.ps.js/ÆþÌç/Practice
SoraMame.ps.js/ÆþÌç/introduction
SoraMame.ps.js/ÆþÌç/object
SoraMame.ps.js/ÆþÌç/part.1
SoraMame.ps.js/ÆþÌç/part.2
SoraMame.ps.js/ÆþÌç/part.3
SoraMame.ps.js/ÆþÌç/part.4
SoraMame.ps.js/ÆþÌç/reason
Test
TortoiseSVN
Web Platform Installer
Web_Design
Web_services
Webforms
WikiEngines
WikiName
WikiWikiWeb
Windows ¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È
Windows+Mac-mini+WiFi
Windows¥æ¡¼¥¶¡¼¤Î¤¿¤á¤ÎEmacsÆþÌç2
Windows¥æ¡¼¥¶¡¼¤Î¤¿¤á¤ÎViÆþÌç
YukiWiki
aoi
aoi_hi-school_maker
archive
atom
basic_of_SoftwareLicense
corporate_philosophy
easyModal.js
educational_programing
enchant.js
english
english/800_Basic_English
english/Ankidroid
excel
framin
gimp
gmail
good_skill
https
iGoogle
ideas
infographics
inkscape
javaja22
javascript_file
keymacro4Mac
kotsubaki-wiki
make_for_Windows
making_script01
making_script02
making_script03
making_wiki
markdown
mediawiki
memo_word
memories
mozilla/docfest
nadeshiko_cgi
nadesiko_hi-school_maker
nadesiko_password
node.js
opensource_like
p5.js
p5.play.js
phaser/original_01
phaser/tutorial_01
phaser/tutorial_02
phpmyadmin
programer_training
proof
pukiwiki
scheme
search
story_telling
suzuka
thesaurus
trademark_patent
tsubaki-wiki
tsubaki-wiki-installer
tutorial_1
tutorial_2
tutorial_3
tutorial_4
vbs
voice
web_programing
windows_apache
windows_hosting_service
windows_http
windows_iis
windows_rails
windows_xampp
windows_xp_end
wordpress
writing
xampp
xoops
xyzzy
xyzzy/key_map
xyzzy_reference
¤Ê¤Ç¤·¤³
¤Ê¤Ç¤·¤³RegularExpression
¤Ê¤Ç¤·¤³Wiki(²¾)
¤Ê¤Ç¤·¤³¤ÇCGI_IIS
¤Ê¤Ç¤·¤³Ã±ÂΥƥ¹¥È
¥ª¡¼¥×¥ó¥½...C¥¹¤ÎÎò»Ë
¥ª¡¼¥×¥ó¥½¡¼¥¹¤ÎÎò»Ë
¾®Çþ¤Í¤ó¤É
ÅŻҽÐÈÇ¡¿ÅŻҽñÀÒ
ʸ¾Ïɽ¸½¾å¡¢¤È¤Æ¤â´ðËÜŪ¤Ê¥Æ¥¯¥Ë¥Ã¥¯
1
2
3
4
1111
[[Programing]] > part2.yacc¤Ë¤è¤ëWeb¥¹¥¯¥ê¥×¥È¸À¸ì [[Part1.>making_script01]]¤ÇJavascriptÅÅÂ¤Ç¤¤¿¤Î¤Ç¡¢¼¡¤Ï´Êñ¤Ê¥¹¥¯¥ê¥×¥È¸À¸ì¤òºî¤Ã¤Æ¤ß¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¸À¸ì¤Î³«È¯¤ËɬÍפʴðËÜŪ¤Êµ»½Ñ¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢¤â¤Î¤¹¤´¡¼¤¯´Êñ¤Ê¥¹¥¯¥ê¥×¥È¸À¸ì¤òºî¤ê¤Þ¤¹¡£ ¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢kmyacc¤ò¥Ä¡¼¥ë¤È¤·¤Æ¡¢Javascript¤ÇÆ°¤¯¤â¤Î¤òºî¤ê¤Þ¤¹¡£¹½Ê¸ÌڤʤɤϺî¤é¤Ê¤¤¤Ç¡¢ÊÌ¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ØÊÑ´¹¤À¤±¤ä¤ê¤Þ¤¹¡£ ''¤È¤ê¤¢¤¨¤º¡¢SaruMane Script(±î¿¿»÷¥¹¥¯¥ê¥×¥È)¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£'' #contents *¥¹¥¥ã¥Ê¡¼¤òºî¤ë [#rd75ede8] ¥¹¥¯¥ê¥×¥È¸À¸ì¤Ç¤Ï¡¢ÅÅÂî¤È°ã¤Ã¤Æ¡¢Ê¸»úÎó¤ä¥³¥á¥ó¥È¤Ê¤É¤ò°·¤¦¤Î¤Ç¡¢¤Þ¤º¥¹¥¥ã¥Ê¡¼(»ú¶ç²òÀÏ)¤òºî¤êľ¤·¤Þ¤¹¡£ ¹½Ê¸²òÀϤËÀèΩ¤Ã¤Æ¡¢¥³¡¼¥É¤Îʸ»ú¤ÎÀÚ¤ê½Ð¤·¤ÈʬÎà¤ò¹Ô¤¦¤Î¤¬¡¢¤³¤Î¥¹¥¥ã¥Ê¡¼¡£»ú¶ç²òÀϤȤ«¥ì¥¥·¥«¥ë¥¢¥Ê¥é¥¤¥¶¡¼(Lexical analyzer)¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ÅÅÂî¤Ç¤Ï¡¢yacc¤Î¥µ¥ó¥×¥ëÄêµÁ¥Õ¥¡¥¤¥ë¤Ë¡¢¥¹¥¥ã¥Ê¡¼¤Î¥³¡¼¥É¤¬Ëä¤á¹þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤½¤ì¤òº¹¤·Âؤ¨¤Þ¤¹¡£ ¤È¤ê¤¢¤¨¤º¡¢¤³¤³¤Ç¤Ï¡¢¥¹¥¥ã¥Ê¡¼¤¬Æ°ºî¤¹¤ë¥µ¥ó¥×¥ë¥Ú¡¼¥¸¤òÍÑ°Õ¤·¤Þ¤·¤¿¡£ -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/scanner.html]] ʸ»ú¤ÎȽÊ̤ˤϡ¢Àµµ¬É½¸½¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£ ¸µ¤ÎÅÅÂîÍÑ¥¹¥¥ã¥Ê¡¼¤Èyacc¤Î¼ÂÁõ¥¹¥¿¥¤¥ë¤Ë¹ç¤ï¤»¤Æ¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ô(!)¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£ *¥¹¥¥ã¥Ê¡¼¤ÎÆ°ºî [#lc6dc3d4] ¥¹¥¥ã¥Ê¤Ï¡¢¥³¡¼¥É¤ò¼¡¤Î¤è¤¦¤ËʬÎष¤Æ¹½Ê¸²òÀϤËÁ÷¤ê¤Þ¤¹¡£ -IDENT --Ìò³ä:¼±ÊÌ»Ò(ÊÑ¿ô̾¤ä´Ø¿ô̾) --µ¬Â§:ºÇ½é¤Îʸ»ú¤¬¡¢±Ñʸ»ú(a-z¤ÈA-Z)¤Ë¥¢¥ó¥À¡¼¥Ð¡¼(_)¡£¤½¤Î¸å¤í¤Ë±Ñ¿ô»ú -NUMBER --Ìò³ä:¿ôÃÍ --µ¬Â§:¾®¿ôÅÀ¤â»È¤¨¤ë¡£ -STRING --Ìò³ä:ʸ»úÎó --µ¬Â§:¥À¥Ö¥ë¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó(")¤«¥·¥ó¥°¥ë¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó(')¤Ç°Ï¤à -COMMENT --Ìò³ä:¥³¡¼¥ÉÃæ¤Î¥³¥á¥ó¥È(Ãí¼á)¡£ --µ¬Â§:¡Ö//¡× -µ¹æ --·×»»µ¹æ¤ä¥«¥Ã¥³¤Ê¤É ¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤¿¾ì¹ç 123abc"xyz"//comment ¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -1 : 123abc"xyz"//comment,token : 123,yylex : 257 -1 : abc"xyz"//comment,token : abc,yylex : 258 -1 : "xyz"//comment,token : xyz,yylex : 259 -1 : //comment,token : //comment,yylex : COMMENT1 ÀèƬ¤Ï²þ¹Ô°ÌÃÖ(²þ¹Ôµ¹æ¤¬¤Ê¤¤¾ì¹ç¤Ï¡Ö-1¡×)¡£¤½¤Î¤¢¤È¡¢¸½ºß²òÀϤ·¤Æ¤¤¤ëʸ»ú¡¢ÀÚ¤ê½Ð¤··ë²Ì¡¢Ê¬Îà·ë²Ì¤È³¤¤Þ¤¹¡£ ¤Ê¤ª¡¢¥³¥á¥ó¥Èʸ¤òȽÊ̤Ǥ¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£Ä̾¥³¥á¥ó¥Èʸ¤Ï̵»ë¤·¤Æ¼Î¤Æ¤ë¤±¤ì¤É¡¢¤³¤Î´Ê°×¥¹¥¯¥ê¥×¥È¸À¸ì¤ÏÊÑ´¹´ï¤Ê¤Î¤Ç»Ä¤¹¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ *¥¹¥¥ã¥Ê¡¼¤È¥Ñ¡¼¥µ¡¼¤òÁȤ߹ç¤ï¤»¤ë [#z492ef3b] Æ°ºî³Îǧ¤Î¤¿¤á¡¢¥¹¥¥ã¥Ê¡¼¤ÇʬÎष¤¿·ë²Ì¤òÁÇÄ̤·¤¹¤ë¤è¤¦¤Ê¹½Ê¸²òÀÏ´ï(parser:¥Ñ¡¼¥µ¡¼)¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£ program: /* empty */ | program stmt { setAnswer(outputs); } ; stmt : NUMBER { outputs += "NUMBER: " + yylval + "<br>";} | IDENT { outputs += "IDENT: " + yylval + "<br>";} | STRING { outputs += "STRING: " + yylval + "<br>";} | COMMENT { outputs += "COMMENT: " + yylval + "<br>";} | '\n' { outputs += "(CR)<br>"; } | error { $$ = ""; } ; -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/script25.html]] ¥¹¥¥ã¥Ê¡¼¤¬Ê¬Îष¤¿·ë²Ì¤Ï¡¢¹½Ê¸²òÀϦ¤ÇȽÃǤ·¤Æ¡¢Ê¬Îà¤È¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð 123abc"xyz"//456 ¤ÈÆþÎϤ¹¤ë¤È¡¢ NUMBER: 123 IDENT: abc STRING: xyz COMMENT: //456 ¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£ -[[yacc¥½¡¼¥¹¥Õ¥¡¥¤¥ë:http://www.catch.jp/program/yacc/script25.jsy]] *¥×¥í¥°¥é¥à¤Ã¤Ý¤¤¤â¤Î¤ò½ñ¤±¤ë¤è¤¦¤Ë¤¹¤ë [#be1bdb55] ¼¡¤Ï¡¢¥Ñ¡¼¥µ¡¼¤ò³ÈÄ¥¤·¤Æ¡¢ÂåÆþʸ¤È´Ø¿ô¤È°ú¿ô¤ò½ñ¤±¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¤³¤ì¤Ç¡¢¥×¥í¥°¥é¥à¤Ã¤Ý¤¤¤â¤Î¤¬¡¢µ½Ò¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/script42.html]] ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ¹¤ë¤È a=200 x() y(100) z(1,2,3,4) a=1*(2+3) b=x(100) c=200 //comment ¼¡¤Î¤è¤¦¤Ë¡¢¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£ a=200 x() y(100) z(1,2,3,4) a=1*(2+3) b=x(100) c=200 //comment ÆþÎϤ·¤¿¥×¥í¥°¥é¥à¤ò¡¢¤¤¤Ã¤¿¤ó¥¹¥¥ã¥Ê¡¼¤Ç¥Ð¥é¥Ð¥é¤Ë¤·¤Æ¡¢¤½¤ì¤ò¥Ñ¡¼¥µ¡¼¤ÇÁȤßΩ¤Æ¤Ê¤ª¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¡£ ¤³¤³¤Þ¤Ç¤ÎÃʳ¬¤ÇÂбþ¤·¤Æ¤¤¤ë¤Î¤Ï¡¢¼¡¤Î¹½Ê¸¤Ç¤¹¡£ -´Ø¿ô¸Æ¤Ó½Ð¤· funcall --´Ø¿ô̾(°ú¿ô)¡¡//°ú¿ô¤¢¤ê --´Ø¿ô̾()¡¡//°ú¿ô¤Ê¤· -ÂåÆþʸ assign --ÊÑ¿ô̾=¿ô¼° -¥³¥á¥ó¥Èʸ ¡Ö//¡×¤«¤é¹ÔËö¤Þ¤Ç -°ú¿ô args --¿ô¼°1, ¿ô¼°2¡¦¡¦¡¦°ú¿ô3 --¿ô¼°1 -¿ô¼° expr --¤·»», °ú¤»», ³Ý¤±»», ³ä¤ê»», ;¤ê --¥«¥Ã¥³¤Ë¤è¤ëÍ¥Àè½ç°ÌÉÕ¤±, ´Ø¿ô¸Æ¤Ó½Ð¤· -´ðËܥǡ¼¥¿¹½Â¤ primary --¼±ÊÌ»Ò(ÊÑ¿ô̾, ´Ø¿ô̾) --¿ôÃÍ --ʸ»úÎ󡡡֡ɡɡפ«¡Ö' '¡×¤Ç°Ï¤ó¤À¤â¤Î¡£¥¨¥¹¥±¡¼¥×µ¹æ¤È¤«¸ú¤«¤Ê¤¤ ¹½Ê¸¥ë¡¼¥ë¤Ë¹çÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢¡Ösyntax error¡×¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¡¢Ê¸»ú¤À¤±½ñ¤¤¤Æ¤â¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤Ç¤âÂåÆþʸ¤Ç¤â¥³¥á¥ó¥Èʸ¤Ç¤â¤Ê¤¤¤¿¤á¡¢¡Ösyntax error¡×¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£ abc ¤³¤³¤Þ¤Ç¤Î¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -[[yacc¥½¡¼¥¹¥Õ¥¡¥¤¥ë:http://www.catch.jp/program/yacc/script42.jsy]] *Processing.js¤Ã¤Ý¤¯½ñ¤±¤ë¤è¤¦¤Ë¤¹¤ë [#m9f7c70a] ¤³¤³¤Çºî¤Ã¤Æ¤¤¤ë´Ê°×¥¹¥¯¥ê¥×¥È¸À¸ì¤Ï¡¢¥¿¡¼¥²¥Ã¥È¸À¸ì¤ò[[Processing.js>Processing.js´ðÁúÇ®ÆþÌç]]¤Ë¤·¤Æ¤¤¤Þ¤¹¡£Processing.js¤Ï¡¢¥Ó¥¸¥å¥¢¥ë¥Ç¥¶¥¤¥óÍÑ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ìProcessing(¥×¥í¥»¥Ã¥·¥ó¥°¡Ë¤ÎWebÈǤǤ¹(Javascript¥Ù¡¼¥¹¤ÎProcessing)¡£¥°¥é¥Õ¥£¥Ã¥¯¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ä¥æ¡¼¥¶¡¼¤Ë¤è¤ëÁàºî¤¬¼è¤ê°·¤¤¤ä¤¹¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ Processing.js¤Ë¤è¤ë¡¢¥¢¥Ë¥á¡¼¥·¥ç¥ó¥µ¥ó¥×¥ë¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¹¡£ ¥µ¥ó¥×¥ë ¡ä [[mouse_move:http://www.catch.jp/program/processing.js/mouse_move/]] ´Ê°×¥¹¥¯¥ê¥×¥È¸À¸ì¤Î¼ç¤Êµ¡Ç½¤Ï¡¢¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤·¤Þ¤¹¡£ -Ì¿Îá¤ä´Ø¿ô¤Ê¤É¤ÏProcessing.js¤È¤ª¤ó¤Ê¤¸¡£ -ËöÈø¤Î¥»¥ß¥³¥í¥ó(;)¤ÏÉÔÍס£ -Ifʸ¤È¤«Forʸ¤È¤«Whileʸ¤È¤«¤â¡¢(¤È¤ê¤¢¤¨¤º)¤Ê¤·¡£Processing.js¤À¤È¡¢¤Ê¤·¤Ç¤â¤½¤ì¤é¤·¤¤¥×¥í¥°¥é¥à¤¬ºî¤ì¤ë¤Î¤Ç¡£ -¥¯¥é¥¹ÄêµÁ¤Ï¤¢¤ë¤±¤ì¤É¡¢¥¯¥é¥¹À¸À®¤Ï(º£¤Î¤È¤³¤í)¤Ê¤·¡£ ¤Ç¡¢¤³¤ó¤Ê¤Õ¤¦¤ËËöÈø¤Î¥»¥ß¥³¥í¥ó¤Ê¤·¤Î¥×¥í¥°¥é¥à¤òÊÑ´¹¤¹¤ë¤È void setup() { size(250, 250) frameRate(20) } void draw() { background(0) ellipse(width/2, height/2, mouseX, mouseY) } ¤³¤ó¤Ê¤Õ¤¦¤Ë¡¢Processinng.js¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ void setup() { size(250, 250); frameRate(20); } void draw() { background(0); ellipse(width/2, height/2, mouseX, mouseY); } ¥µ¥ó¥×¥ë¥Ú¡¼¥¸¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/script55.html]] -[[yacc¥½¡¼¥¹¥Õ¥¡¥¤¥ë:http://www.catch.jp/program/yacc/script55.jsy]] ¤³¤ì¤À¤±¤Ç¤Ï¡¢µ¡Ç½Åª¤Ë¤ÏÆÃÊ̤¦¤ì¤·¤¤¤È¤³¤í¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Æȼ«Ê¸Ë¡¤Î¥¹¥¯¥ê¥×¥È¸À¸ì¤Îºî¤ë¤â¤È¤Ë¤Ê¤ë¤Ï¤º¡£ *Processing.js¤ËÊÑ´¹¤·¤Æ¼Â¹Ô¤¹¤ë [#c9c417c4] ¤Ä¤¤¤Ë¡¢¤Ç¤¤Þ¤·¤¿¡ª ÊÑ´¹¤·¤¿¥³¡¼¥É¤òProcessing.js¤ËÅϤ·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ ¤È¤ê¤¢¤¨¤º¡¢¥µ¥ó¥×¥ë¥Ú¡¼¥¸¤ÎRun¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¡£¤½¤ì¤«¤é¡¢±¦Â¦¤Î¹õ¿§¥¨¥ê¥¢¤Ë¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¤ò¹ç¤ï¤»¤ë¤È¡¢¤½¤Î°ÌÃ֤˹ç¤ï¤»¤ÆÂʱߤ¬ÉÁ¤«¤ì¤Þ¤¹¡£¤½¤Î¤¹¤°²¼¤Ë¤Ï¡¢ÊÑ´¹¸å¤Î¥¹¥¯¥ê¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/SaruMane/SaruMane_Script.html]] -[[yacc¥½¡¼¥¹¥Õ¥¡¥¤¥ë:http://www.catch.jp/program/yacc/SaruMane/sarumane_script.jsy]] *Æ°ºî¾å¤ÎÀ©Ìó [#y06871df] Èó¾ï¤Ë´Ê°×Ū¤Ê¥¹¥¯¥ê¥×¥È¸À¸ì¤Ê¤Î¤Ç¡¢¼¡¤Î¤è¤¦¤ÊÃí°Õ¤¬É¬ÍפǤ¹¡£ **¥Ö¥í¥Ã¥¯¥³¥á¥ó¥È¤ËÈóÂбþ [#i0d46da3] ¡Ö/* */¡×¤ò»È¤Ã¤¿¡¢Ê£¿ô¹Ô¤Ë¤Þ¤¿¤¬¤ë¥³¥á¥ó¥È¤Ï¡¢º£¤Î¤È¤³¤í»È¤¨¤Þ¤»¤ó¡£ **¥Ç¥Ð¥Ã¥°¥Ä¡¼¥ë¤Ë¤è¤ë¥Ç¥Ð¥Ã¥° [#v3fdce02] ¥¹¥¯¥ê¥×¥È¤Ï¡¢ÊÑ´¹¤·¤ÆľÀܼ¹Ԥ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥Ç¥Ð¥Ã¥°¥Ä¡¼¥ë¤òŬÍѤǤ¤Þ¤»¤ó¡£ ÊÑ´¹¸å¤Î¥¹¥¯¥ê¥×¥È¤ò¡¢Processing.js¤ËľÀÜŽ¤êÉÕ¤±¤ë¤È¤â¤¦¾¯¤·¤ä¤ê¤ä¤¹¤¯¤Ê¤ë¤«¤â¡£ **¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Î¾×ÆͲóÈò [#u96ec2c5] SaruMane Script¤Ï¡¢¤¤¤¯¤Ä¤«¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤ò»È¤Ã¤Æ¤¤¤Þ¤¹(yyyBuffer¡¢yyyToken¡¢yylval)¡£ÆÃÊ̤Ê̾Á°¤Ë¤·¤Æ¤¢¤ë¤Î¤Ç¡¢¾×Æͤ¹¤ë¤³¤È¤Ï¡¢¤Û¤È¤ó¤É¤Ê¤¤¤È»×¤¤¤Þ¤¹¤¬¡¢Ç°¤Î¤¿¤áÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤ò»È¤Ã¤Æ¤¤¤ë¤È¡¢Â¾¤Î¥×¥í¥°¥é¥à¤È¾×Æͤ¹¤ë¤Î¤Ç¡¢Javascript¤Î¾ì¹ç¤ÏÊÑ´¹¥×¥í¥°¥é¥à¤ò¥¯¥í¡¼¥¸¥ã¡¼¤Ë¤¹¤ë¤È¤«¡¢Âкö¤·¤Ê¤¯¤Á¤ã¤Ê¤é¤Ê¤¤¤Ê¡¼¡£¤È»×¤Ã¤Æ¤¤¤¿¤±¤ì¤É¡¢Ä´¤Ù¤Æ¤ß¤¿¤é¡¢¤Á¤ç¤Ã¤È¼ê´Ö¤¬¤«¤«¤ë¤Î¤Ç¡¢¸å²ó¤·¤Ë¤·¤Þ¤·¤¿¡£ ---- [[Part1.yacc¤Ë¤è¤ëJavascriptÅÅÂî>making_script01]]¤ËÌá¤ë [[Part3.ÆüËܸì¤Ã¤Ý¤¤Web¥¹¥¯¥ê¥×¥È¸À¸ì>making_script03]]¤Ë¿Ê¤à *¥½¡¼¥¹ [#qed12373] -[[ycatch/SaruMane.js - GitHub:https://github.com/ycatch/SaruMane.js]] *»²¹Í»ñÎÁ [#l1457785] -[[Ȭ³Ñ¸¦µæ½ê : Series: Flash/Flex ¤Çºî¤ë²¶Í͸À¸ì(kmyaccÊÔ) «:http://www.hakkaku.net/series/flashflex%e3%81%a7%e4%bd%9c%e3%82%8b%e4%bf%ba%e6%a7%98%e8%a8%80%e8%aa%9ekmyacc%e7%b7%a8]] --[[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#more-158]] --[[Shibuya.abc¤è¤ê¡¢·ÈÂÓÅÅÏäÇÍ·¤Ù¤ë²¶Í͸À¸ì¤òºî¤Ã¤Æ¤¢¤½¤Ö(1):http://www.hakkaku.net/articles/20080317-170]] -[[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¸þ¤¤Ê¸À¸ì¤À¤Èʬ¤«¤ê¤Þ¤¹¡£ -Racc ¤ÇÍ·¤Ü¤¦ --Racc¤ÇÅÅÂî¤ò¤¤¤í¤¤¤íºî¤ë¥Á¥å¡¼¥È¥ê¥¢¥ë --http://www.mnet.ne.jp/~tnomura/racc.html -¶Ë¤á¤èRubyÆ»¡§Âè5²ó Ruby¤Ç½ñ¤¯¥Õ¥í¥ó¥È¥¨¥ó¥É¤È¥Ñ¡¼¥¶ --http://www.notwork.org/~gotoken/mag/cmagazine/gokudo/5th/ -[[¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤òºî¤ë:http://kmaebashi.com/programmer/devlang/index.html]] -[[¥¦¥Î¥¦¥é¥Ü by Zynga Japan: 1»þ´Ö¤Çºî¤ë´Ê°×¥¹¥¯¥ê¥×¥È¸À¸ì(JavaScript):http://labs.unoh.net/2007/03/1javascript.html]] -[[JavaScript¥á¥â]] -[[ParserGenerator - catch.jp:http://www.catch.jp/wiki/index.php?ParserGenerator]] -[[JavaScript - 100¹Ô¤Ç½ñ¤¯²¶ÍÍ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥³¥ó¥Ñ¥¤¥éAltJSÊÔ - Qiita:http://qiita.com/KDKTN/items/a151d8d003a62c7b2ca3]]
¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÊѹ¹¤·¤Ê¤¤
[[Programing]] > part2.yacc¤Ë¤è¤ëWeb¥¹¥¯¥ê¥×¥È¸À¸ì [[Part1.>making_script01]]¤ÇJavascriptÅÅÂ¤Ç¤¤¿¤Î¤Ç¡¢¼¡¤Ï´Êñ¤Ê¥¹¥¯¥ê¥×¥È¸À¸ì¤òºî¤Ã¤Æ¤ß¤Þ¤¹¡£¥¹¥¯¥ê¥×¥È¸À¸ì¤Î³«È¯¤ËɬÍפʴðËÜŪ¤Êµ»½Ñ¤ò³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢¤â¤Î¤¹¤´¡¼¤¯´Êñ¤Ê¥¹¥¯¥ê¥×¥È¸À¸ì¤òºî¤ê¤Þ¤¹¡£ ¤³¤Î¥Ú¡¼¥¸¤Ç¤Ï¡¢kmyacc¤ò¥Ä¡¼¥ë¤È¤·¤Æ¡¢Javascript¤ÇÆ°¤¯¤â¤Î¤òºî¤ê¤Þ¤¹¡£¹½Ê¸ÌڤʤɤϺî¤é¤Ê¤¤¤Ç¡¢ÊÌ¤Î¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤ØÊÑ´¹¤À¤±¤ä¤ê¤Þ¤¹¡£ ''¤È¤ê¤¢¤¨¤º¡¢SaruMane Script(±î¿¿»÷¥¹¥¯¥ê¥×¥È)¤È¤¤¤¦Ì¾Á°¤òÉÕ¤±¤ë¤³¤È¤Ë¤·¤Þ¤¹¡£'' #contents *¥¹¥¥ã¥Ê¡¼¤òºî¤ë [#rd75ede8] ¥¹¥¯¥ê¥×¥È¸À¸ì¤Ç¤Ï¡¢ÅÅÂî¤È°ã¤Ã¤Æ¡¢Ê¸»úÎó¤ä¥³¥á¥ó¥È¤Ê¤É¤ò°·¤¦¤Î¤Ç¡¢¤Þ¤º¥¹¥¥ã¥Ê¡¼(»ú¶ç²òÀÏ)¤òºî¤êľ¤·¤Þ¤¹¡£ ¹½Ê¸²òÀϤËÀèΩ¤Ã¤Æ¡¢¥³¡¼¥É¤Îʸ»ú¤ÎÀÚ¤ê½Ð¤·¤ÈʬÎà¤ò¹Ô¤¦¤Î¤¬¡¢¤³¤Î¥¹¥¥ã¥Ê¡¼¡£»ú¶ç²òÀϤȤ«¥ì¥¥·¥«¥ë¥¢¥Ê¥é¥¤¥¶¡¼(Lexical analyzer)¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ ÅÅÂî¤Ç¤Ï¡¢yacc¤Î¥µ¥ó¥×¥ëÄêµÁ¥Õ¥¡¥¤¥ë¤Ë¡¢¥¹¥¥ã¥Ê¡¼¤Î¥³¡¼¥É¤¬Ëä¤á¹þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¤¬¡¢¤½¤ì¤òº¹¤·Âؤ¨¤Þ¤¹¡£ ¤È¤ê¤¢¤¨¤º¡¢¤³¤³¤Ç¤Ï¡¢¥¹¥¥ã¥Ê¡¼¤¬Æ°ºî¤¹¤ë¥µ¥ó¥×¥ë¥Ú¡¼¥¸¤òÍÑ°Õ¤·¤Þ¤·¤¿¡£ -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/scanner.html]] ʸ»ú¤ÎȽÊ̤ˤϡ¢Àµµ¬É½¸½¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£ ¸µ¤ÎÅÅÂîÍÑ¥¹¥¥ã¥Ê¡¼¤Èyacc¤Î¼ÂÁõ¥¹¥¿¥¤¥ë¤Ë¹ç¤ï¤»¤Æ¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ô(!)¤ò»È¤Ã¤Æ¤¤¤Þ¤¹¡£ *¥¹¥¥ã¥Ê¡¼¤ÎÆ°ºî [#lc6dc3d4] ¥¹¥¥ã¥Ê¤Ï¡¢¥³¡¼¥É¤ò¼¡¤Î¤è¤¦¤ËʬÎष¤Æ¹½Ê¸²òÀϤËÁ÷¤ê¤Þ¤¹¡£ -IDENT --Ìò³ä:¼±ÊÌ»Ò(ÊÑ¿ô̾¤ä´Ø¿ô̾) --µ¬Â§:ºÇ½é¤Îʸ»ú¤¬¡¢±Ñʸ»ú(a-z¤ÈA-Z)¤Ë¥¢¥ó¥À¡¼¥Ð¡¼(_)¡£¤½¤Î¸å¤í¤Ë±Ñ¿ô»ú -NUMBER --Ìò³ä:¿ôÃÍ --µ¬Â§:¾®¿ôÅÀ¤â»È¤¨¤ë¡£ -STRING --Ìò³ä:ʸ»úÎó --µ¬Â§:¥À¥Ö¥ë¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó(")¤«¥·¥ó¥°¥ë¥¯¥©¡¼¥Æ¡¼¥·¥ç¥ó(')¤Ç°Ï¤à -COMMENT --Ìò³ä:¥³¡¼¥ÉÃæ¤Î¥³¥á¥ó¥È(Ãí¼á)¡£ --µ¬Â§:¡Ö//¡× -µ¹æ --·×»»µ¹æ¤ä¥«¥Ã¥³¤Ê¤É ¼¡¤Î¤è¤¦¤ËÆþÎϤ·¤¿¾ì¹ç 123abc"xyz"//comment ¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£ -1 : 123abc"xyz"//comment,token : 123,yylex : 257 -1 : abc"xyz"//comment,token : abc,yylex : 258 -1 : "xyz"//comment,token : xyz,yylex : 259 -1 : //comment,token : //comment,yylex : COMMENT1 ÀèƬ¤Ï²þ¹Ô°ÌÃÖ(²þ¹Ôµ¹æ¤¬¤Ê¤¤¾ì¹ç¤Ï¡Ö-1¡×)¡£¤½¤Î¤¢¤È¡¢¸½ºß²òÀϤ·¤Æ¤¤¤ëʸ»ú¡¢ÀÚ¤ê½Ð¤··ë²Ì¡¢Ê¬Îà·ë²Ì¤È³¤¤Þ¤¹¡£ ¤Ê¤ª¡¢¥³¥á¥ó¥Èʸ¤òȽÊ̤Ǥ¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£Ä̾¥³¥á¥ó¥Èʸ¤Ï̵»ë¤·¤Æ¼Î¤Æ¤ë¤±¤ì¤É¡¢¤³¤Î´Ê°×¥¹¥¯¥ê¥×¥È¸À¸ì¤ÏÊÑ´¹´ï¤Ê¤Î¤Ç»Ä¤¹¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£ *¥¹¥¥ã¥Ê¡¼¤È¥Ñ¡¼¥µ¡¼¤òÁȤ߹ç¤ï¤»¤ë [#z492ef3b] Æ°ºî³Îǧ¤Î¤¿¤á¡¢¥¹¥¥ã¥Ê¡¼¤ÇʬÎष¤¿·ë²Ì¤òÁÇÄ̤·¤¹¤ë¤è¤¦¤Ê¹½Ê¸²òÀÏ´ï(parser:¥Ñ¡¼¥µ¡¼)¤òºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£ program: /* empty */ | program stmt { setAnswer(outputs); } ; stmt : NUMBER { outputs += "NUMBER: " + yylval + "<br>";} | IDENT { outputs += "IDENT: " + yylval + "<br>";} | STRING { outputs += "STRING: " + yylval + "<br>";} | COMMENT { outputs += "COMMENT: " + yylval + "<br>";} | '\n' { outputs += "(CR)<br>"; } | error { $$ = ""; } ; -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/script25.html]] ¥¹¥¥ã¥Ê¡¼¤¬Ê¬Îष¤¿·ë²Ì¤Ï¡¢¹½Ê¸²òÀϦ¤ÇȽÃǤ·¤Æ¡¢Ê¬Îà¤È¥Ç¡¼¥¿¤òɽ¼¨¤·¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð 123abc"xyz"//456 ¤ÈÆþÎϤ¹¤ë¤È¡¢ NUMBER: 123 IDENT: abc STRING: xyz COMMENT: //456 ¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£ -[[yacc¥½¡¼¥¹¥Õ¥¡¥¤¥ë:http://www.catch.jp/program/yacc/script25.jsy]] *¥×¥í¥°¥é¥à¤Ã¤Ý¤¤¤â¤Î¤ò½ñ¤±¤ë¤è¤¦¤Ë¤¹¤ë [#be1bdb55] ¼¡¤Ï¡¢¥Ñ¡¼¥µ¡¼¤ò³ÈÄ¥¤·¤Æ¡¢ÂåÆþʸ¤È´Ø¿ô¤È°ú¿ô¤ò½ñ¤±¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¤³¤ì¤Ç¡¢¥×¥í¥°¥é¥à¤Ã¤Ý¤¤¤â¤Î¤¬¡¢µ½Ò¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/script42.html]] ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤ËÆþÎϤ¹¤ë¤È a=200 x() y(100) z(1,2,3,4) a=1*(2+3) b=x(100) c=200 //comment ¼¡¤Î¤è¤¦¤Ë¡¢¤½¤Î¤Þ¤Þɽ¼¨¤µ¤ì¤Þ¤¹¡£ a=200 x() y(100) z(1,2,3,4) a=1*(2+3) b=x(100) c=200 //comment ÆþÎϤ·¤¿¥×¥í¥°¥é¥à¤ò¡¢¤¤¤Ã¤¿¤ó¥¹¥¥ã¥Ê¡¼¤Ç¥Ð¥é¥Ð¥é¤Ë¤·¤Æ¡¢¤½¤ì¤ò¥Ñ¡¼¥µ¡¼¤ÇÁȤßΩ¤Æ¤Ê¤ª¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¡£ ¤³¤³¤Þ¤Ç¤ÎÃʳ¬¤ÇÂбþ¤·¤Æ¤¤¤ë¤Î¤Ï¡¢¼¡¤Î¹½Ê¸¤Ç¤¹¡£ -´Ø¿ô¸Æ¤Ó½Ð¤· funcall --´Ø¿ô̾(°ú¿ô)¡¡//°ú¿ô¤¢¤ê --´Ø¿ô̾()¡¡//°ú¿ô¤Ê¤· -ÂåÆþʸ assign --ÊÑ¿ô̾=¿ô¼° -¥³¥á¥ó¥Èʸ ¡Ö//¡×¤«¤é¹ÔËö¤Þ¤Ç -°ú¿ô args --¿ô¼°1, ¿ô¼°2¡¦¡¦¡¦°ú¿ô3 --¿ô¼°1 -¿ô¼° expr --¤·»», °ú¤»», ³Ý¤±»», ³ä¤ê»», ;¤ê --¥«¥Ã¥³¤Ë¤è¤ëÍ¥Àè½ç°ÌÉÕ¤±, ´Ø¿ô¸Æ¤Ó½Ð¤· -´ðËܥǡ¼¥¿¹½Â¤ primary --¼±ÊÌ»Ò(ÊÑ¿ô̾, ´Ø¿ô̾) --¿ôÃÍ --ʸ»úÎ󡡡֡ɡɡפ«¡Ö' '¡×¤Ç°Ï¤ó¤À¤â¤Î¡£¥¨¥¹¥±¡¼¥×µ¹æ¤È¤«¸ú¤«¤Ê¤¤ ¹½Ê¸¥ë¡¼¥ë¤Ë¹çÃפ·¤Ê¤¤¾ì¹ç¤Ï¡¢¡Ösyntax error¡×¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¡¢Ê¸»ú¤À¤±½ñ¤¤¤Æ¤â¡¢´Ø¿ô¸Æ¤Ó½Ð¤·¤Ç¤âÂåÆþʸ¤Ç¤â¥³¥á¥ó¥Èʸ¤Ç¤â¤Ê¤¤¤¿¤á¡¢¡Ösyntax error¡×¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£ abc ¤³¤³¤Þ¤Ç¤Î¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -[[yacc¥½¡¼¥¹¥Õ¥¡¥¤¥ë:http://www.catch.jp/program/yacc/script42.jsy]] *Processing.js¤Ã¤Ý¤¯½ñ¤±¤ë¤è¤¦¤Ë¤¹¤ë [#m9f7c70a] ¤³¤³¤Çºî¤Ã¤Æ¤¤¤ë´Ê°×¥¹¥¯¥ê¥×¥È¸À¸ì¤Ï¡¢¥¿¡¼¥²¥Ã¥È¸À¸ì¤ò[[Processing.js>Processing.js´ðÁúÇ®ÆþÌç]]¤Ë¤·¤Æ¤¤¤Þ¤¹¡£Processing.js¤Ï¡¢¥Ó¥¸¥å¥¢¥ë¥Ç¥¶¥¤¥óÍÑ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ìProcessing(¥×¥í¥»¥Ã¥·¥ó¥°¡Ë¤ÎWebÈǤǤ¹(Javascript¥Ù¡¼¥¹¤ÎProcessing)¡£¥°¥é¥Õ¥£¥Ã¥¯¥¢¥Ë¥á¡¼¥·¥ç¥ó¤ä¥æ¡¼¥¶¡¼¤Ë¤è¤ëÁàºî¤¬¼è¤ê°·¤¤¤ä¤¹¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ Processing.js¤Ë¤è¤ë¡¢¥¢¥Ë¥á¡¼¥·¥ç¥ó¥µ¥ó¥×¥ë¤Ï¤³¤ó¤Ê´¶¤¸¤Ç¤¹¡£ ¥µ¥ó¥×¥ë ¡ä [[mouse_move:http://www.catch.jp/program/processing.js/mouse_move/]] ´Ê°×¥¹¥¯¥ê¥×¥È¸À¸ì¤Î¼ç¤Êµ¡Ç½¤Ï¡¢¼¡¤Î¤è¤¦¤Ê´¶¤¸¤Ë¤·¤Þ¤¹¡£ -Ì¿Îá¤ä´Ø¿ô¤Ê¤É¤ÏProcessing.js¤È¤ª¤ó¤Ê¤¸¡£ -ËöÈø¤Î¥»¥ß¥³¥í¥ó(;)¤ÏÉÔÍס£ -Ifʸ¤È¤«Forʸ¤È¤«Whileʸ¤È¤«¤â¡¢(¤È¤ê¤¢¤¨¤º)¤Ê¤·¡£Processing.js¤À¤È¡¢¤Ê¤·¤Ç¤â¤½¤ì¤é¤·¤¤¥×¥í¥°¥é¥à¤¬ºî¤ì¤ë¤Î¤Ç¡£ -¥¯¥é¥¹ÄêµÁ¤Ï¤¢¤ë¤±¤ì¤É¡¢¥¯¥é¥¹À¸À®¤Ï(º£¤Î¤È¤³¤í)¤Ê¤·¡£ ¤Ç¡¢¤³¤ó¤Ê¤Õ¤¦¤ËËöÈø¤Î¥»¥ß¥³¥í¥ó¤Ê¤·¤Î¥×¥í¥°¥é¥à¤òÊÑ´¹¤¹¤ë¤È void setup() { size(250, 250) frameRate(20) } void draw() { background(0) ellipse(width/2, height/2, mouseX, mouseY) } ¤³¤ó¤Ê¤Õ¤¦¤Ë¡¢Processinng.js¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ void setup() { size(250, 250); frameRate(20); } void draw() { background(0); ellipse(width/2, height/2, mouseX, mouseY); } ¥µ¥ó¥×¥ë¥Ú¡¼¥¸¤È¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/script55.html]] -[[yacc¥½¡¼¥¹¥Õ¥¡¥¤¥ë:http://www.catch.jp/program/yacc/script55.jsy]] ¤³¤ì¤À¤±¤Ç¤Ï¡¢µ¡Ç½Åª¤Ë¤ÏÆÃÊ̤¦¤ì¤·¤¤¤È¤³¤í¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢Æȼ«Ê¸Ë¡¤Î¥¹¥¯¥ê¥×¥È¸À¸ì¤Îºî¤ë¤â¤È¤Ë¤Ê¤ë¤Ï¤º¡£ *Processing.js¤ËÊÑ´¹¤·¤Æ¼Â¹Ô¤¹¤ë [#c9c417c4] ¤Ä¤¤¤Ë¡¢¤Ç¤¤Þ¤·¤¿¡ª ÊÑ´¹¤·¤¿¥³¡¼¥É¤òProcessing.js¤ËÅϤ·¤Æ¼Â¹Ô¤·¤Þ¤¹¡£ ¤È¤ê¤¢¤¨¤º¡¢¥µ¥ó¥×¥ë¥Ú¡¼¥¸¤ÎRun¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¡£¤½¤ì¤«¤é¡¢±¦Â¦¤Î¹õ¿§¥¨¥ê¥¢¤Ë¥Þ¥¦¥¹¥Ý¥¤¥ó¥¿¤ò¹ç¤ï¤»¤ë¤È¡¢¤½¤Î°ÌÃ֤˹ç¤ï¤»¤ÆÂʱߤ¬ÉÁ¤«¤ì¤Þ¤¹¡£¤½¤Î¤¹¤°²¼¤Ë¤Ï¡¢ÊÑ´¹¸å¤Î¥¹¥¯¥ê¥×¥È¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -[[¥µ¥ó¥×¥ë¥Ú¡¼¥¸:http://www.catch.jp/program/yacc/SaruMane/SaruMane_Script.html]] -[[yacc¥½¡¼¥¹¥Õ¥¡¥¤¥ë:http://www.catch.jp/program/yacc/SaruMane/sarumane_script.jsy]] *Æ°ºî¾å¤ÎÀ©Ìó [#y06871df] Èó¾ï¤Ë´Ê°×Ū¤Ê¥¹¥¯¥ê¥×¥È¸À¸ì¤Ê¤Î¤Ç¡¢¼¡¤Î¤è¤¦¤ÊÃí°Õ¤¬É¬ÍפǤ¹¡£ **¥Ö¥í¥Ã¥¯¥³¥á¥ó¥È¤ËÈóÂбþ [#i0d46da3] ¡Ö/* */¡×¤ò»È¤Ã¤¿¡¢Ê£¿ô¹Ô¤Ë¤Þ¤¿¤¬¤ë¥³¥á¥ó¥È¤Ï¡¢º£¤Î¤È¤³¤í»È¤¨¤Þ¤»¤ó¡£ **¥Ç¥Ð¥Ã¥°¥Ä¡¼¥ë¤Ë¤è¤ë¥Ç¥Ð¥Ã¥° [#v3fdce02] ¥¹¥¯¥ê¥×¥È¤Ï¡¢ÊÑ´¹¤·¤ÆľÀܼ¹Ԥ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥Ç¥Ð¥Ã¥°¥Ä¡¼¥ë¤òŬÍѤǤ¤Þ¤»¤ó¡£ ÊÑ´¹¸å¤Î¥¹¥¯¥ê¥×¥È¤ò¡¢Processing.js¤ËľÀÜŽ¤êÉÕ¤±¤ë¤È¤â¤¦¾¯¤·¤ä¤ê¤ä¤¹¤¯¤Ê¤ë¤«¤â¡£ **¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Î¾×ÆͲóÈò [#u96ec2c5] SaruMane Script¤Ï¡¢¤¤¤¯¤Ä¤«¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤ò»È¤Ã¤Æ¤¤¤Þ¤¹(yyyBuffer¡¢yyyToken¡¢yylval)¡£ÆÃÊ̤Ê̾Á°¤Ë¤·¤Æ¤¢¤ë¤Î¤Ç¡¢¾×Æͤ¹¤ë¤³¤È¤Ï¡¢¤Û¤È¤ó¤É¤Ê¤¤¤È»×¤¤¤Þ¤¹¤¬¡¢Ç°¤Î¤¿¤áÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ ¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤ò»È¤Ã¤Æ¤¤¤ë¤È¡¢Â¾¤Î¥×¥í¥°¥é¥à¤È¾×Æͤ¹¤ë¤Î¤Ç¡¢Javascript¤Î¾ì¹ç¤ÏÊÑ´¹¥×¥í¥°¥é¥à¤ò¥¯¥í¡¼¥¸¥ã¡¼¤Ë¤¹¤ë¤È¤«¡¢Âкö¤·¤Ê¤¯¤Á¤ã¤Ê¤é¤Ê¤¤¤Ê¡¼¡£¤È»×¤Ã¤Æ¤¤¤¿¤±¤ì¤É¡¢Ä´¤Ù¤Æ¤ß¤¿¤é¡¢¤Á¤ç¤Ã¤È¼ê´Ö¤¬¤«¤«¤ë¤Î¤Ç¡¢¸å²ó¤·¤Ë¤·¤Þ¤·¤¿¡£ ---- [[Part1.yacc¤Ë¤è¤ëJavascriptÅÅÂî>making_script01]]¤ËÌá¤ë [[Part3.ÆüËܸì¤Ã¤Ý¤¤Web¥¹¥¯¥ê¥×¥È¸À¸ì>making_script03]]¤Ë¿Ê¤à *¥½¡¼¥¹ [#qed12373] -[[ycatch/SaruMane.js - GitHub:https://github.com/ycatch/SaruMane.js]] *»²¹Í»ñÎÁ [#l1457785] -[[Ȭ³Ñ¸¦µæ½ê : Series: Flash/Flex ¤Çºî¤ë²¶Í͸À¸ì(kmyaccÊÔ) «:http://www.hakkaku.net/series/flashflex%e3%81%a7%e4%bd%9c%e3%82%8b%e4%bf%ba%e6%a7%98%e8%a8%80%e8%aa%9ekmyacc%e7%b7%a8]] --[[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#more-158]] --[[Shibuya.abc¤è¤ê¡¢·ÈÂÓÅÅÏäÇÍ·¤Ù¤ë²¶Í͸À¸ì¤òºî¤Ã¤Æ¤¢¤½¤Ö(1):http://www.hakkaku.net/articles/20080317-170]] -[[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¸þ¤¤Ê¸À¸ì¤À¤Èʬ¤«¤ê¤Þ¤¹¡£ -Racc ¤ÇÍ·¤Ü¤¦ --Racc¤ÇÅÅÂî¤ò¤¤¤í¤¤¤íºî¤ë¥Á¥å¡¼¥È¥ê¥¢¥ë --http://www.mnet.ne.jp/~tnomura/racc.html -¶Ë¤á¤èRubyÆ»¡§Âè5²ó Ruby¤Ç½ñ¤¯¥Õ¥í¥ó¥È¥¨¥ó¥É¤È¥Ñ¡¼¥¶ --http://www.notwork.org/~gotoken/mag/cmagazine/gokudo/5th/ -[[¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¤òºî¤ë:http://kmaebashi.com/programmer/devlang/index.html]] -[[¥¦¥Î¥¦¥é¥Ü by Zynga Japan: 1»þ´Ö¤Çºî¤ë´Ê°×¥¹¥¯¥ê¥×¥È¸À¸ì(JavaScript):http://labs.unoh.net/2007/03/1javascript.html]] -[[JavaScript¥á¥â]] -[[ParserGenerator - catch.jp:http://www.catch.jp/wiki/index.php?ParserGenerator]] -[[JavaScript - 100¹Ô¤Ç½ñ¤¯²¶ÍÍ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì¥³¥ó¥Ñ¥¤¥éAltJSÊÔ - Qiita:http://qiita.com/KDKTN/items/a151d8d003a62c7b2ca3]]
¥Æ¥¥¹¥ÈÀ°·Á¤Î¥ë¡¼¥ë¤òɽ¼¨¤¹¤ë