Let’s dry run the lexical analysis on this –
Integer is a Lexeme of token type “identifier”, so it x. So, for this line of code, lexical analyzer will generate the token stream – identifier identifier EOS. Here EOS signifies End of Statement.
Now, ask yourself if CFG for C supports such a word? No it doesn’t – it will produce a Syntax Error. However, this doesn’t mean that there won’t be a Semantic Error – Integer is an identifier used before definition. As per Syntax Directed Translation scheme, both these error would be reported. An unambiguous question would have been – Which error is reported first? The answer to this is Syntax Error.