Captcha security check jmksf.com is for sale Please prove you're not a robot View Price Processing
What is KMyacc? kmyaccはyaccやbisonと同じLALRパーサージェネレータです。 yaccと互換性があり、生成される表が小さく、ホスト言語としてC以外にJava, JavaScript,Perlでも使うことができます。 News 2006.02.28: きむらさんによるWindows VC++用のパッチ 2006.02.16: version 4.1.4: Java, Perl, JavaScript版のパーサードラ イバのバグを修正。このバグは、ある種の文法で構文解析に失敗し実行時エラー を起こすというもの。C版にはこのバグはない。 2005.10.07: version 4.1.3: Java版に yyparsererror (YYERROR) 及びスタックの自動伸張を実装 2005.07.10: Demonstration program 2005.07.0
C++ の特徴のひとつである演算子オーバーロード、その粋を極めたのが Boost Lambda (無名関数) と Boost Spirit (構文解析) ではないかと思っています。JavaScript では無名関数が使えるので Lambda に関しては間に合っているとも言えますが、Spirit はそうも行きません。JavaScript 2 で演算子オーバーロードがサポートされるのならチャレンジしてみようかななどと思ってそれきりになっていました。 しかし、一部でパーサブームが起こっているというのを受け、Perl 6 Rules をつらつらと眺めているうち、正規表現のメタ文字を使えば文法定義をきれいに書けるのではと思い至りました。そこで実際に JavaScript でパーサジェネレータを作り、Spirit にあやかって Gin (ジン) と名づけてみました。 文法定義 正規表現リテラルを使うこ
BASICのトランスレータを書く途上、パーサを一々手書きするのは面倒なので、ジェネレータを作成しました。 といっても、楽天が運営するポータルサイト : 【インフォシーク】Infoseekで解説されているようなパーサを自動生成するものなので、左再帰は対応できませんし、構文解析の前に字句解析を行わなくてはなりません。 文法定義 以下は、加減乗除冪を含む数式の文法定義です。 var parser = new Parse.Parser(); parser.def({ expr: "add %end", add: "mul (($+ | $-) mul)*", mul: "pow (($* | $/) pow)*", pow: "fact ($^ fact)*", fact: "($+ | $-)?:sign ( $num | $( add $))", }); var tokens = tokeni
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く