phpLex.exeのコンパイル通った!
「Flexyどうこうの前にまずは準備 - maru.cc@はてな」の続き
.NET FrameworkのSDKを落としてきて、コマンドラインからコンパイルしようとしたのですが、そもそもC#をコマンドラインでコンパイル方法がわからない。
今回の目的は、C#ではないので、とりあえず飛ばして、手元にある、Visual Studio 2005 を使ってコンパイルしました。
C#のコンソールアプリケーションを新規作成し、そこにCVSから落としてきたファイルをコピー。
そのままビルドをしてみたが動かない。
エラー 1 名前空間 'Lex' に 'Gen' の定義が既に含まれています。 C:\Documents and Settings\maru\My Documents\Visual Studio 2005\Projects\phpLex\phpLex\Gen_broken.cs 12 14 phpLex
というエラーになります。
結局、このGen_broken.csというファイルは作成中なのか、壊れたものなのか、よくわかりませんが、不要なファイルっぽいので、名前を変えてあげることでビルド通りました!!
あとは、落としてきたTokenizer.lexをphpLex.exeにかけてみる。
http://cvs.php.net/viewvc.cgi/pear/HTML_Template_Flexy/Flexy/Tokenizer.lex
Cygwin上でコマンド発行
$ ./phpLex.exe Tokenizer.lex
ずらずらと結果が出て無事 Tokenizer.php が出来ていました!!!!
さっそく、Flexy内の Tokenizer.php とDiffをとってみたところ、微妙に差異があります。
.lexファイルをcvsから落としてきたのでバージョンが違うのが原因かもしれません。
これでやっと準備が整いました。
lexファイルの中をいろいろいじくりまわしてみよう。