Basic lexer
Complete lexer
Add EXTERN keyword
Move test code