ついて雑多に書いています。お手軽にかけるライブラリです。ようにセマンティックアクションを使ってゴリゴリと文法を解析、その場で計算等もすることができます。ベースで書かれていて、拡張も簡単です。ファイルを生成してみようと思います。ベースの内容となります。アドオンもちょっと使います。解析して、よしなに文法(grammarファイル)と読み方(vocaファイル)を生成します。ファイル生成JuliusData.makeGrammarFile('kaden');JuliusData.makeVocaFile('kaden');で、次のようなファイルが吐き出されます。テストすると次のような文章ができます。max})が使えます。末尾に2行追加します。Gin[x];これでアドオン化は完了で、次のようにサンプルを使うことができます。詳しい使い方は本家に任せるとしてここでは簡単な説明をします。ようなもの(後述))が終端記号となります。パースする際、第1引数に文字列、第2引数にセマンティックアクションを行うためのオブジェクトを指定します。オブジェクト内部には結果を保持することができるので後で取り出せば計算等もできてしまうという寸法です。上のサンプルで「$INT」というものが出てきました。中で定義されている、整数値にマッチするシンボルです。行目辺りをみると、いくつか事前に定義されたものが書いてあります。Gin.Utils.unquote);こんな風になっています。第1引数はパースする文字列を正規表現で定義し、第2引数では、ここでマッチした内容をあと処理するための関数を指定しています。ダブルクォートもしくはシングルクォートされた文字列にマッチするようになっています。中になければ自分で作ってしまえば簡単に利用できます。今回は次のような2つのシンボルを作ってみました。利用してゴリゴリと書いてみます。適当な一時オブジェクトに格納してから処理を行ったのでゴリゴリ感でてしまってちょっとアレ感あります。ファイル生成JuliusData.makeGrammarFile('kaden');JuliusData.makeVocaFile('kaden');何とか動くものができました。結果を保存するためのうまい構造が思いつかず適当にやってしまったので長くなってしまいましたが、一時オブジェクトを挟まないとかうまくやればもっと短くなると思います。パースした結果がオブジェクトや配列の形になって格納されているのでそれを使っても良いと思います。移植する流れで高速化とか良さ気。はてなブログPro凹んでます。)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。