import { Lexer, createToken } from 'chevrotain';
const namePattern = /[a-zA-Z_][a-zA-Z_\-\d]*/;
const nameTokenConfig = { name: 'NAME', pattern: namePattern };
const nameToken = createToken(nameTokenConfig);
const keywordTokenConfig = {
    name: 'KEYWORD',
    pattern: Lexer.NA,
    longer_alt: nameToken,
    categories: [nameToken],
};
const keywordToken = createToken(keywordTokenConfig);
const unaryOptionCategoryToken = createToken({ name: 'UNARY_OPTION', pattern: Lexer.NA });
const binaryOptionCategoryToken = createToken({ name: 'BINARY_OPTION', pattern: Lexer.NA });
export { nameToken as NAME };
export { keywordToken as KEYWORD };
export { namePattern };
export { unaryOptionCategoryToken as UNARY_OPTION };
export { binaryOptionCategoryToken as BINARY_OPTION };
