Edited at

ズンドコキヨシ パーサー (PEG.js)

More than 3 years have passed since last update.

PEG(Parsing Expression Grammer)でパーサ書いてみました。処理系はPEG.js。

ズンドコ入れると自動的にキヨシが出力されます。


zundoko.pegjs

start = Zundoko

Zundoko = tokens:Zuntoken* { return tokens.join(''); }
Zuntoken = Kiyoshi / Zun / Doko

Kiyoshi =
z1:Zun z2:Zun z3:Zun z4:Zun d: Doko Zuntoken*
{ return z1 + z2 + z3 + z4 + d + "キ・ヨ・シ!"; }
Zun = _ "ズン" _ { return text(); }
Doko = _ "ドコ" _ { return text(); }
_ = [ \t\n\r]*



つかいかた



  1. PEG.js Online versionを開く

  2. 左側の「Write your PEG.js grammar」を消して、上のコードをコピペする

  3. 右側の「Test the generated parser with some input」でズンドコする

  4. Outputになんか出るよ!

スクリーンショット 2016-03-17 20.17.23.png


問題点

キ・ヨ・シ! の後も続いてズンドコできてしまう。

解決済み。キヨシが出た後のズンドコは出力されなくなりました