字句解析ツールre2c
はじめに
字句解析ツールの代表といえば、lex、flexだと思いますが、いまいちつかいづらいと感じていました。
ほかにないかと探していたら、re2cというものを見つけました。
re2cを調べるとあまり載っていないので、ここにまとめます。
ほかにないかと探していたら、re2cというものを見つけました。
re2cを調べるとあまり載っていないので、ここにまとめます。
re2cを選択する理由
re2cは次の特徴があります。
- 処理が高速である
- 出力コードはクリーンであり、ランタイムを必要としない
- ASCIIからEBCDICへのクロスコンパイルやワイド文字(UCS-2)やUTF-32もサポートする
- 正規表現をgoto文に変換する
re2cは、半分手設計で、半分自動生成という感じ。
出力するコードは、ツール依存はなく、クリーンなものです。
CもしくはC++といった限定はなく、どちらでも適した記述に合わせることができます。
速度面でも優秀のようです。
はじめから手書きで書くよりも効率的。
goto文は、多くの人に嫌われる記述だと思いますが、私はむやみに嫌う必要はないと思っています。適切な場所で効率的にgoto文を使うことはコードの読みやすさを向上させます。
出力するコードは、ツール依存はなく、クリーンなものです。
CもしくはC++といった限定はなく、どちらでも適した記述に合わせることができます。
速度面でも優秀のようです。
はじめから手書きで書くよりも効率的。
goto文は、多くの人に嫌われる記述だと思いますが、私はむやみに嫌う必要はないと思っています。適切な場所で効率的にgoto文を使うことはコードの読みやすさを向上させます。
re2cは、固定の正規表現マッチングを行うには、軽量で最適なツールなのではないかと思います。
ダウンロード
おおよそのLinuxでは、yumもしくはapt-getでインストールできるかと。
- チェック
% yum search re2c
または、
% apt-cache search re2c
- インストール
# yum install re2c
または、
# apt-get install re2c