せめて文字列リテラル中にコメントと紛らわしい文字列は
ないぐらいは仮定しないととんでもなく難しい気がするな。

あとこういうのを間違わずにやろうとすると結構大変。

// hogehoge /* hogehoge
/* hogehoge
// hogehoge */ hogehoge