Implement scan_identifier() that:
- Starts when seeing a letter or underscore
- Continues while seeing letters, digits, or underscores
- Returns the complete identifier/keyword
Implement lookup_keyword() that:
- Takes an identifier string
- Returns the appropriate keyword TokenType if matched
- Returns
TOKEN_IDENTIFIER otherwise
Support these C keywords (minimum):
- Types:
int, char, void, float, double
- Control flow:
if, else, while, for, return
- Other:
struct, const, sizeof