パスワードを忘れた? アカウント作成
77398 journal

rutoの日記: スクリプト言語にとって、正規言語は速い以上のメリットは無いと思う

日記 by ruto

正規表現より文脈自由文法の方が良いという意見に対する正規表現の擁護
「正規表現が手軽だから」以上が無くて、言語の表現力の話とリテラルとしての正規表現の話がごっちゃになってる気がする。この論法だと、正規表現から上位のクラスの言語用のパーサへ変換する機能を用意されたらそれでいいことになってしまう。

スクリプト言語の機能としての正規言語マッチャは、使う側としては、正規言語(+α)に限れば圧倒的に速くパースできるという以上のメリットは無いと思う。「チューリングマシンが最強」というのは確かで、パーサコンビネータとか手書き再帰下降パーサとかは0型の文法でもパースできて最強だと思う。速度以外は。

もちろん研究者としては機能が制限されてる方がいろいろ性質を保証できたり解析できたりして嬉しいけど、スクリプト言語を使う側にとってそれを生かした便利な機能って、速度とか停止性ぐらいしか今のところないんじゃないだろうか。

速いから正規言語に限るんであって、速度を犠牲にしても良いんなら上位のクラスの言語用の機能だけ用意して、正規表現からそれに変換すればいいと思う。

追記:
見直してみたら、元から正規表現対BNFの話のようです。話をごっちゃにしてたのは私の方だったようです。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

読み込み中...