読者です 読者をやめる 読者になる 読者になる

phpLex.exeのコンパイル通った!

Flexyどうこうの前にまずは準備 - maru.cc@はてな」の続き


.NET FrameworkSDKを落としてきて、コマンドラインからコンパイルしようとしたのですが、そもそも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ファイルの中をいろいろいじくりまわしてみよう。


続き>「作成したTokenizer.phpの差分 - maru.cc@はてな