'use strict';
const Enum = require('enum');
/**
* {@link Token} type enumerations.
* @enum
*/
const TokenType = new Enum([
// Single-character tokens.
'LEFT_PAREN', 'RIGHT_PAREN', 'LEFT_BRACE', 'RIGHT_BRACE',
'COMMA', 'DOT', 'MINUS', 'PLUS', 'SEMICOLON', 'SLASH', 'STAR',
// One or two character tokens.
'BANG', 'BANG_EQUAL',
'EQUAL', 'EQUAL_EQUAL',
'GREATER', 'GREATER_EQUAL',
'LESS', 'LESS_EQUAL',
// Literals.
'IDENTIFIER', 'STRING', 'NUMBER',
// Keywords.
'AND', 'CLASS', 'ELSE', 'FALSE', 'FUN', 'FOR', 'IF', 'NIL', 'OR',
'PRINT', 'RETURN', 'SUPER', 'THIS', 'TRUE', 'VAR', 'WHILE',
// End Of File (or input)
'EOF'
], 'TokenType');
module.exports = TokenType;