lexがなんとなくあがり

課題1のlexでやる部分ができた感じ。lexは、これまで触った範囲では、字句解析してバラバラにばらすためのプロセッサ。のCソースコードを生成するジェネレータ。

定義部
%%
規則部
%%
ルーチン部

こんな中身のlexソースをlexに食わせると、lex.yy.cってソースが生成され、Cコンパイラで実行ファイルにできる。定義部とルーチン部は省略可能で

%%
[a-zA-Z][a-zA-Z0-9]* {printf("ident?n");}
. {printf("null?n");}

と書くと、入力から英字で始まり連続する英数からなる文字列を識別子として表示する。
課題で指定された要件の字句解析をlexで書いた。lexだとたしかに簡単。もう一題はlexを用いないでCで書けと・・・