o;?&rsquo;s with the name of your
    lexer. Consider this snippet from the template:</p>

    <pre><code>
    -- ? LPeg lexer.

    local lexer = require('lexer')
    local token, word_match = lexer.token, lexer.word_match
    local P, R, S = lpeg.P, lpeg.R, lpeg.S

    local lex = lexer.new('?')

    -- Whitespace.
    local ws = token(lexer.WHITESPACE, lexer.space^1)
    lex:add_rule('whitespace', ws)

    [...]

    return lex
    </code></pre>

    <p>The first 3 lines of code simply define often used 