Mod: use -std=c99 to allow variable declaration in for loop
Mod: use proper ways to ignore block comment

The basic idea is to use flex's Start Condition feature to conditionally
ignore the block comment depending on whether we met a "BlockCommentStart"

1. ignore all the normal characters in BlockComment, except for *
2. ignore all sequences of *'s not followed by /
3. return to INITIAL condition when met a "*/" sequence