書いてみるテスト
前回までのあらすじ
- 書いてみるテスト - suu-g's diary
- 書いてみるテスト - 日記を書く [・w・] はやみずさん
- 書いてみるテスト - suu-g's diary
- 書いてみるテスト・訂正 - suu-g's diary
[+-]?[1-9][0-9]*(?:\.\d+)?(?:[Ee][+-]?\d+)?
浮動小数点の正規表現と等価なNondeterministic Finite Automatonと等価なDeterministic Finite Automatonの実装。
$ echo 100 | ./float_lexer matched: 100 $ echo 10.0 | ./float_lexer matched: 10.0 $ echo 100e12 | ./float_lexer matched: 100e12 $ echo 123.45e12 | ./float_lexer matched: 123.45e12 $ echo 123.45 | ./float_lexer matched: 123.45 $ echo +123.45 | ./float_lexer matched: +123.45 $ echo -123.45 | ./float_lexer matched: -123.45 $ echo 123.45e+12 | ./float_lexer matched: 123.45e+12 $ echo 123.45e-12 | ./float_lexer matched: 123.45e-12 $ echo +123.45e12 | ./float_lexer matched: +123.45e12 $ echo -123.45e12 | ./float_lexer matched: -123.45e12 $ echo +123.45e+12 | ./float_lexer matched: +123.45e+12 $ echo +123.45e-12 | ./float_lexer matched: +123.45e-12
svn co http://unicus.ddo.jp/svn/public/float_lexer
して、float_lexerの中で make を実行すればコンパイルしてテストが実行されるようになっている。
ソースはこちら