lex/yacc 勉強中 / magicien 

相変わらず中身のない記事です。
マルパチがGPLに触れたことに関連して。

lexは字句解析のためのプログラム、yaccは構文解析のためのプログラム。
というわけで、コンパイラに使われたりするlex/yaccですが、 今はこれを使って(3Dの)xファイルのパースをしてたりします。

10日ほど前から使い始めたのですが、使った感想としては、便利、ですねこれは。
これ使えば何か面白いことができそうでわくわくします。
暇があればHyperTalk(懐かしい!)のパーサでも作ってみるか...

ところで、Macでlex/yaccを呼ぶと、実際にはlex/yaccのGNU版であるflex/bisonが呼び出されます。
で、flexのライセンスはBSD、bisonのライセンスはGPLのようです。
flexもbisonも、最終的にC言語のコードを生成するわけですが、bisonのGPLライセンスがなかなか曲者のようで、 過去にはいろいろと問題が起こったようです。
今ではbisonが生成したコードにはGPLライセンスが適用されないらしいですが...調査が必要そうだなぁ
flexの方は"info flex"コマンドでCopyrightを確認したところ、修正BSDライセンスっぽい(たぶん)。というわけで、安心して使えそうです。


2010/01/08(Fri) 03:34:44