サンプルファイルが少しみにくかったので、ちょっと整形してみました。文法定義ファイル(calc.grammar)です。パーザを使った方ならば、だいたい理解できると思います。サンプルの文法定義ファイルにやたらに使われていたTABを除去し、構文解析木のドライバルーチンを除去しました。メソッドとしています。よる書き換えに依存しない部分は通常のJavaScriptのコードとして独立させたかったからです。これを以下のようにjsccで処理して、構文解析器(calc.js)を作成します。+""");});})(arguments[0]);まだ納得がいかないのは、字句定義の部分のセミコロンの使い方です。セミコロンの有無に意味があるのかなぁと思いつつ、今夜はこれまでにしようと思います。元々のドライバルーチンより若干、すっきりとさせましたが、特に説明を要する点はないでしょう。これを以下のように実行することができます。書いてみようと思います。メールアドレスキャンセル投稿を送信できませんでした。メールアドレスを確認してください。メール送信チェックに失敗しました。このブログではメールでの投稿共有はできません。