越前藩国 Wiki

持堅/コンパイラ等周辺ツール

最終更新:

2334191@mixi

- view
だれでも歓迎! 編集

概要

 jiken Rubygemには、アイドレスのオブジェクト定義をコンパイルし、オブジェクト定義の文法チェックやYAML・JSON形式への出力を行うためのコマンドラインツールが(rake タスクとして)用意されています。このページでは、これらコマンドラインツールについて説明します。

コマンドラインツールの準備

 持堅で用意されるコマンドラインツールは、その殆どが rake タスクとして提供されます。このため、まず適切なディレクトリに持堅のためのRakefileを作らなければなりません。
 まず最初に、アイドレスのオブジェクト定義が記述されたテキストファイル(ソースファイル)を用意してください。(以後、この文章では例として、ソースファイルのファイル名を"idress_data.txt"と仮定します) そして、このソースファイルと同じ場所に、持堅のコマンドラインツールのためのRakefileを作ります。

 1) コマンドプロンプト、ないしシェルを開き、カレントディレクトリをソースファイルのあるディレクトリに移動します。
 2) プロンプト上で'jikenc -g' を実行します。これにより、このディレクトリにRakefileを生成します。この時作られる Rakefile の内容は下記の通りです。

#必要に応じてデフォルト値を書き換えてください
DefaultDBPath = './idress_data.sqlite3' #コンパイル結果を格納するSQLiteデータベースファイル
DefaultSourcePath = './アイドレスデータ.txt' #L:定義のソースファイル
SRCS = [DefaultSourcePath] #複数ある場合は配列に列挙
 
gem 'jiken'
load 'jiken/compiler/Rakefile'
 

 3)必要に応じて、DefaultSourcePath , DefaultDBPath の行を書き換えます。

 4)プロンプト上で"rake -T" を実行します。下記のタスク一覧が表示されれば成功です。

rake chk:decomp        # 逆コンパイルによる文法チェックを..
rake chk:error         # コンパイルエラーのレポートを出力..
rake compile           # コンパイルする。
rake export:json[out]  # コンパイル結果をJSONで出力する。
rake export:yaml[out]  # コンパイル結果をYAMLで出力する。

各rake タスクの説明


コンパイラ (rake compile)

 ソースファイルのコンパイルを行います。コンパイル結果は同じディレクトリに作られるSQLite3データベースファイルの中に保存されます。
 ソースファイル及びSQLite3データベースファイルの名前は、Rakefile内の定義に従います。

文法エラーチェック (rake chk:error)

 SQLite3に保存されたコンパイル結果から、オブジェクト定義に含まれる文法エラーを検査します。(主に工部吏族によるオブジェクト定義の新書式変換作業で使います。)

逆コンパイルエラーチェック (rake chk:decomp)

 コンパイル結果から逆にオブジェクト定義を組み立て、最初のオブジェクト定義と比較することで、標準に準拠しない書き方のオブジェクト定義がないか検査します。(主に工部吏族によるオブジェクト定義の新書式変換作業で使います。)

コンパイル結果のJSON出力(rake export:json)

 コンパイル結果をJSONファイルに出力します。デフォルトの出力ファイル名はidefs.jsonです。
 出力ファイル名を指定することもできます。この場合は、プロンプト上で"rake export:json[ファイル名]"と入力してください。

コンパイル結果のJSON出力(rake export:yaml)

 コンパイル結果をYAMLファイルに出力します。デフォルトの出力ファイル名はidefs.ymlです。
 出力ファイル名を指定することもできます。この場合は、プロンプト上で"rake export:json[ファイル名]"と入力してください。