Whittle: Rubyパーサーライブラリ活用ガイド

1. プロジェクトのディレクトリ構成

Whittleプロジェクトのディレクトリ構成は以下の通りです:

whittle/
├── examples/
├── lib/
├── spec/
├── .gitignore
├── .rspec
├── Gemfile
├── LICENSE
├── README.md
├── Rakefile
└── whittle.gemspec

ディレクトリの説明:

  • examples/: Whittleパーサーの使用方法を示すサンプルコードが含まれています
  • lib/: Whittleパーサーの実装を含む、プロジェクトのコアライブラリ
  • spec/: Whittleパーサーの機能を検証するためのテストコード
  • .gitignore: Gitが管理しないファイルやディレクトリを指定する設定ファイル
  • .rspec: RSpecテストフレームワークの設定ファイル
  • Gemfile: Rubyプロジェクトの依存関係を管理するファイル
  • LICENSE: プロジェクトのオープンソースライセンスファイル(MITライセンスを使用)
  • README.md: プロジェクトの概要、インストール方法、使用例などを含むドキュメント
  • Rakefile: プロジェクトの自動化タスクを定義するファイル
  • whittle.gemspec: Gemパッケージのメタデータと依存情報を含むファイル

2. プロジェクトの利用方法

Whittleはライブラリプロジェクトであるため、特定の「起動ファイル」は存在しません。以下の手順でWhittleパーサーを利用できます:

  1. Whittleのインストール: RubyGemsを使用してWhittleをインストールします:
gem install whittle
  1. Rubyファイルの作成: parser.rbのような新しいRubyファイルを作成し、Whittleをrequireします:
require 'whittle'
  1. パーサーの定義: Whittleのドキュメントに基づき、パーサークラスを定義します:
class Calculator < Whittle::Parser
  rule("-")
  rule(:number => /[0-9]+/) { |num| Integer(num) }
  rule(:expression) do |r|
    r[:number, "-", :number] { |a, _, b| a - b }
  end
  start(:expression)
end
  1. パーサーの実行: ファイルの末尾でパーサークラスのインスタンスを作成し、parseメソッドを呼び出して入力を解析します:
calculator = Calculator.new
result = calculator.parse("5-3")
puts result # 出力: 2
  1. Rubyファイルの実行: ターミナルでRubyファイルを実行します:
ruby parser.rb

3. 設定ファイルについて

Whittleはライブラリプロジェクトであるため、複雑な設定は不要です。主な設定は以下のファイルで行われます:

  • Gemfile: プロジェクトの依存関係を管理します。Gemfileを編集して依存関係を追加または削除できます
  • whittle.gemspec: Gemパッケージのメタデータと依存情報を含みます。WhittleのGemパッケージを公開または更新する場合は、このファイルを編集します
  • .rspec: RSpecテストフレームワークの設定です。このファイルを編集してRSpecの動作を調整できます

これらのファイルは、新しい依存関係を追加するか、テスト設定を調整しない限り、頻繁に編集する必要はありません。

タグ: Ruby パーサー DSL ライブラリ テスト

7月22日 00:11 投稿