テキストからネストされたコメントを削除し、コメントに含まれていないテキストだけを出力するには、lex (または flex) でどのようにプログラムすればよいですか? コメント中の状態と、ブロックコメントの開始「タグ」の数を何らかの形で認識できるはずです。
ルールを作りましょう:
1.ブロックコメント
/*
block comment
*/
2.ラインコメント
// line comment
3. コメントは入れ子にすることができます。
例 1
show /* comment /* comment */ comment */ show
出力:
show show
例 2
show /* // comment
comment
*/
show
出力:
show
show
例 3
show
///* comment
comment
// /*
comment
//*/ comment
//
comment */
show
出力:
show
show