stants and built-in
    functions, methods, or libraries is desirable. The Lua lexer, for example,
    defines 11 tokens: whitespace, keywords, built-in functions, constants,
    built-in libraries, identifiers, strings, comments, numbers, labels, and
    operators. Even though constants, built-in functions, and built-in libraries
    are subsets of identifiers, Lua programmers find it helpful for the lexer to
    distinguish between them all. It is perfectly acceptable to just recognize
    keywords and id