-- module token_name (in a file "token_name.lua") local token_name = { ['*'] = 'Op_multiply', ['/'] = 'Op_divide', ['%'] = 'Op_mod', ['+'] = 'Op_add', ['-'] = 'Op_subtract', ['<'] = 'Op_less', ['<='] = 'Op_lessequal', ['>'] = 'Op_greater', ['>='] = 'Op_greaterequal', ['=='] = 'Op_equal', ['!='] = 'Op_notequal', ['!'] = 'Op_not', ['='] = 'Op_assign', ['&&'] = 'Op_and', ['||'] = 'Op_or', ['('] = 'LeftParen', [')'] = 'RightParen', ['{'] = 'LeftBrace', ['}'] = 'RightBrace', [';'] = 'Semicolon', [','] = 'Comma', ['if'] = 'Keyword_if', ['else'] = 'Keyword_else', ['while'] = 'Keyword_while', ['print'] = 'Keyword_print', ['putc'] = 'Keyword_putc', } return token_name