はじめに 正規表現やpack/unpackは、設定、ログ、プロトコルメッセージなどのような 構造を持つテキストデータまたはバイナリデータの処理において非常に役立つ 機能です。 しかし、構造が複雑になると、正規表現やunpackを用いたコードを作成するこ とが難しく、また、メンテナンスも難しい場合があります。 このような困難さを克服するためのツールやライブラリとして、文法やフォー マットによって構造のあるデータを扱う際に便利な abnf, racc, syntax.rb, tdp4r, OpenSSL::ASN1 を簡単に概要だけを紹介します。 一般的に、記述された文法から、その文法やフォーマットに従うデータを、プロ グラム内で扱いやすいように変換するコードを生成するものを、パーサジェネレ ータと呼びます。 多くのパーサジェネレータはツールとして提供されており、文法を記述したファ イルを用意