number based lexer; still returns string tokens (for now)