The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
%{

#include <lexer.hpp>

typedef struct _ReservedKeyword {
    const char *name;
    TokenInfo info;
} ReservedKeyword;
%}

ReservedKeyword;
%%
"return", {Enum::Token::Type::Return, Enum::Token::Kind::Return, "Return", "return"}
"+", {Enum::Token::Type::Add, Enum::Token::Kind::Operator, "Add", "+"}
"-", {Enum::Token::Type::Sub, Enum::Token::Kind::Operator, "Sub", "-"}
"/", {Enum::Token::Type::Div, Enum::Token::Kind::Operator, "Div", "/"}
"%", {Enum::Token::Type::Mod, Enum::Token::Kind::Operator, "Mod", "%"}
"?", {Enum::Token::Type::ThreeTermOperator, Enum::Token::Kind::Operator, "ThreeTermOperator", "?"}
">", {Enum::Token::Type::Greater, Enum::Token::Kind::Operator, "Greater", ">"}
"<", {Enum::Token::Type::Less, Enum::Token::Kind::Operator, "Less", "<"}
".", {Enum::Token::Type::StringAdd, Enum::Token::Kind::Operator, "StringAdd", "."}
"\\", {Enum::Token::Type::Ref, Enum::Token::Kind::Operator, "Ref", "\\"}
"~", {Enum::Token::Type::BitNot, Enum::Token::Kind::Operator, "BitNot", "~"}
"|", {Enum::Token::Type::BitOr, Enum::Token::Kind::Operator, "BitOr", "|"}
"or", {Enum::Token::Type::Or, Enum::Token::Kind::Operator, "Or", "or"}
"and", {Enum::Token::Type::And, Enum::Token::Kind::Operator, "And", "and"}
"^", {Enum::Token::Type::BitXOr, Enum::Token::Kind::Operator, "BitXOr", "^"}
"xor", {Enum::Token::Type::XOr, Enum::Token::Kind::Operator, "XOr", "xor"}
"x", {Enum::Token::Type::StringMul, Enum::Token::Kind::Operator, "StringMul", "x"}
"+=", {Enum::Token::Type::AddEqual, Enum::Token::Kind::Assign, "AddEqual", "+="}
"-=", {Enum::Token::Type::SubEqual, Enum::Token::Kind::Assign, "SubEqual", "-="}
"*=", {Enum::Token::Type::MulEqual, Enum::Token::Kind::Assign, "MulEqual", "*="}
"/=", {Enum::Token::Type::DivEqual, Enum::Token::Kind::Assign, "DivEqual", "/="}
"%=", {Enum::Token::Type::ModEqual, Enum::Token::Kind::Assign, "ModEqual", "%="}
".=", {Enum::Token::Type::StringAdd, Enum::Token::Kind::Assign, "StringAdd", ".="}
">=", {Enum::Token::Type::GreaterEqual, Enum::Token::Kind::Operator, "GreaterEqual", ">="}
"<=", {Enum::Token::Type::LessEqual, Enum::Token::Kind::Operator, "LessEqual", "<="}
"==", {Enum::Token::Type::EqualEqual, Enum::Token::Kind::Operator, "EqualEqual", "=="}
"<>", {Enum::Token::Type::Diamond, Enum::Token::Kind::Operator, "Diamond", "<>"}
"<=>", {Enum::Token::Type::Compare, Enum::Token::Kind::Operator, "Compare", "<=>"}
"~~", {Enum::Token::Type::PolymorphicCompare, Enum::Token::Kind::Operator, "PolymorphicCompare", "~~"}
"=~", {Enum::Token::Type::RegOK, Enum::Token::Kind::Operator, "RegOK", "=~"}
"!~", {Enum::Token::Type::RegNot, Enum::Token::Kind::Operator, "RegNot", "!~"}
"!=", {Enum::Token::Type::NotEqual, Enum::Token::Kind::Operator, "NotEqual", "!="}
"lt", {Enum::Token::Type::StringLess, Enum::Token::Kind::Operator, "StringLess", "lt"}
"le", {Enum::Token::Type::StringLessEqual, Enum::Token::Kind::Operator, "StringLessEqual", "le"}
"gt", {Enum::Token::Type::StringGreater, Enum::Token::Kind::Operator, "StringGreater", "gt"}
"ge", {Enum::Token::Type::StringGreaterEqual, Enum::Token::Kind::Operator, "StringGreaterEqual", "ge"}
"eq", {Enum::Token::Type::StringEqual, Enum::Token::Kind::Operator, "StringEqual", "eq"}
"ne", {Enum::Token::Type::StringNotEqual, Enum::Token::Kind::Operator, "StringNotEqual", "ne"}
"cmp", {Enum::Token::Type::StringCompare, Enum::Token::Kind::Operator, "StringCompare", "cmp"}
"++", {Enum::Token::Type::Inc, Enum::Token::Kind::Operator, "Inc", "++"}
"--", {Enum::Token::Type::Dec, Enum::Token::Kind::Operator, "Dec", "--"}
"**", {Enum::Token::Type::Exp, Enum::Token::Kind::Operator, "Exp", "**"}
"**=", {Enum::Token::Type::PowerEqual, Enum::Token::Kind::Assign, "PowerEqual", "**="}
"//=", {Enum::Token::Type::DefaultEqual, Enum::Token::Kind::Assign, "DefaultEqual", "//="}
"<<", {Enum::Token::Type::LeftShift, Enum::Token::Kind::Operator, "LeftShift", "<<"}
">>", {Enum::Token::Type::RightShift, Enum::Token::Kind::Operator, "RightShift", ">>"}
"&&", {Enum::Token::Type::And, Enum::Token::Kind::Operator, "And", "&&"}
"||", {Enum::Token::Type::Or, Enum::Token::Kind::Operator, "Or", "||"}
"&=", {Enum::Token::Type::AndBitEqual, Enum::Token::Kind::Assign, "AndBitEqual", "&="}
"|=", {Enum::Token::Type::OrBitEqual, Enum::Token::Kind::Assign, "OrBitEqual", "|="}
"^=", {Enum::Token::Type::NotBitEqual, Enum::Token::Kind::Assign, "NotBitEqual", "^="}
"||=", {Enum::Token::Type::OrEqual, Enum::Token::Kind::Assign, "OrEqual", "||="}
"&&=", {Enum::Token::Type::AndEqual, Enum::Token::Kind::Assign, "AndEqual", "&&="}
"..", {Enum::Token::Type::Slice, Enum::Token::Kind::Operator, "Slice", ".."}
"//", {Enum::Token::Type::DefaultOperator, Enum::Token::Kind::Operator, "DefaultOperator", "//"}
"...", {Enum::Token::Type::ToDo, Enum::Token::Kind::Operator, "ToDo", "..."}
"my", {Enum::Token::Type::VarDecl, Enum::Token::Kind::Decl, "VarDecl", "my"}
"sub", {Enum::Token::Type::FunctionDecl, Enum::Token::Kind::Decl, "FunctionDecl", "sub"}
"=", {Enum::Token::Type::Assign, Enum::Token::Kind::Assign, "Assign", "="}
"$#", {Enum::Token::Type::ArraySize, Enum::Token::Kind::SingleTerm, "ArraySize", "$#"}
"!", {Enum::Token::Type::IsNot, Enum::Token::Kind::SingleTerm, "IsNot", "!"}
"not", {Enum::Token::Type::Not, Enum::Token::Kind::SingleTerm, "Not", "not"}
"chomp", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "chomp"}
"chop", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "chop"}
"chr", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "chr"}
"crypt", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "crypt"}
"index", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "index"}
"lc", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "lc"}
"lcfirst", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "lcfirst"}
"length", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "length"}
"ord", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "ord"}
"pack", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "pack"}
"unpack", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "unpack"}
"sort", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "sort"}
"reverse", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "reverse"}
"rindex", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "rindex"}
"sprintf", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "sprintf"}
"substr", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "substr"}
"uc", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "uc"}
"ucfirst", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "ucfirst"}
"pos", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "pos"}
"quotemeta", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "quotemeta"}
"split", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "split"}
"study", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "study"}
"pop", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "pop"}
"push", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "push"}
"splice", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "splice"}
"shift", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "shift"}
"unshift", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "unshift"}
"grep", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "grep"}
"join", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "join"}
"map", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "map"}
"delete", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "delete"}
"each", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "each"}
"exists", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "exists"}
"keys", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "keys"}
"values", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "values"}
"binmode", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "binmode"}
"close", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "close"}
"closedir", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "closedir"}
"dbmclose", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "dbmclose"}
"dbmopen", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "dbmopen"}
"die", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "die"}
"eof", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "eof"}
"fileno", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "fileno"}
"flock", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "flock"}
"format", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "format"}
"getc", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getc"}
"print", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "print"}
"say", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "say"}
"printf", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "printf"}
"read", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "read"}
"readdir", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "readdir"}
"rewinddir", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "rewinddir"}
"seek", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "seek"}
"seekdir", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "seekdir"}
"select", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "select"}
"syscall", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "syscall"}
"sysread", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "sysread"}
"sysseek", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "sysseek"}
"syswrite", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "syswrite"}
"tell", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "tell"}
"telldir", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "telldir"}
"truncate", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "truncate"}
"warn", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "warn"}
"write", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "write"}
"vec", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "vec"}
"chdir", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "chdir"}
"chmod", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "chmod"}
"chown", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "chown"}
"chroot", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "chroot"}
"fcntl", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "fcntl"}
"glob", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "glob"}
"ioctl", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "ioctl"}
"link", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "link"}
"lstat", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "lstat"}
"mkdir", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "mkdir"}
"open", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "open"}
"opendir", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "opendir"}
"readlink", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "readlink"}
"rename", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "rename"}
"rmdir", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "rmdir"}
"stat", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "stat"}
"symlink", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "symlink"}
"umask", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "umask"}
"unlink", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "unlink"}
"utime", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "utime"}
"caller", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "caller"}
"dump", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "dump"}
"eval", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "eval"}
"exit", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "exit"}
"wantarray", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "wantarray"}
"formline", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "formline"}
"reset", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "reset"}
"scalar", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "scalar"}
"alarm", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "alarm"}
"exec", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "exec"}
"fork", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "fork"}
"getpgrp", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getpgrp"}
"getppid", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getppid"}
"getpriority", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getpriority"}
"kill", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "kill"}
"pipe", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "pipe"}
"setpgrp", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "setpgrp"}
"setpriority", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "setpriority"}
"sleep", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "sleep"}
"system", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "system"}
"times", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "times"}
"wait", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "wait"}
"waitpid", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "waitpid"}
"no", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "no"}
"tie", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "tie"}
"tied", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "tied"}
"untie", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "untie"}
"accept", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "accept"}
"bind", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "bind"}
"connect", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "connect"}
"getpeername", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getpeername"}
"getsockname", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getsockname"}
"getsockopt", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getsockopt"}
"listen", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "listen"}
"recv", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "recv"}
"send", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "send"}
"setsockopt", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "setsockopt"}
"shutdown", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "shutdown"}
"socket", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "socket"}
"socketpair", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "socketpair"}
"msgctl", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "msgctl"}
"msgget", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "msgget"}
"msgrcv", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "msgrcv"}
"msgsnd", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "msgsnd"}
"semctl", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "semctl"}
"semget", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "semget"}
"semop", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "semop"}
"shmctl", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "shmctl"}
"shmget", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "shmget"}
"shmread", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "shmread"}
"shmwrite", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "shmwrite"}
"endgrent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "endgrent"}
"endhostent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "endhostent"}
"endnetent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "endnetent"}
"endpwent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "endpwent"}
"getgrent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getgrent"}
"getgrgid", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getgrgid"}
"getgrnam", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getgrnam"}
"getlogin", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getlogin"}
"getpwent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getpwent"}
"getpwnam", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getpwnam"}
"getpwuid", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getpwuid"}
"setgrent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "setgrent"}
"setpwent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "setpwent"}
"endprotoent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "endprotoent"}
"endservent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "endservent"}
"gethostbyaddr", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "gethostbyaddr"}
"gethostbyname", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "gethostbyname"}
"gethostent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "gethostent"}
"getnetbyaddr", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getnetbyaddr"}
"getnetbyname", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getnetbyname"}
"getnetent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getnetent"}
"getprotobyname", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getprotobyname"}
"getprotobynumber", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getprotobynumber"}
"getprotoent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getprotoent"}
"getservbyname", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getservbyname"}
"getservbyport", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getservbyport"}
"getservent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "getservent"}
"sethostent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "sethostent"}
"setnetent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "setnetent"}
"setprotoent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "setprotoent"}
"setservent", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "setservent"}
"gmtime", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "gmtime"}
"localtime", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "localtime"}
"time", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "time"}
"ref", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "ref"}
"bless", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "bless"}
"defined", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "defined"}
"abs", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "abs"}
"atan2", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "atan2"}
"cos", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "cos"}
"exp", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "exp"}
"hex", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "hex"}
"int", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "int"}
"log", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "log"}
"oct", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "oct"}
"rand", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "rand"}
"sin", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "sin"}
"sqrt", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "sqrt"}
"srand", {Enum::Token::Type::BuiltinFunc, Enum::Token::Kind::Function, "BuiltinFunc", "srand"}
"require", {Enum::Token::Type::RequireDecl, Enum::Token::Kind::Decl, "RequireDecl", "require"}
"import", {Enum::Token::Type::Import, Enum::Token::Kind::Import, "Import", "import"}
"__PACKAGE__", {Enum::Token::Type::SpecificKeyword, Enum::Token::Kind::SpecificKeyword, "SpecificKeyword", "__PACKAGE__"}
"__FILE__", {Enum::Token::Type::SpecificKeyword, Enum::Token::Kind::SpecificKeyword, "SpecificKeyword", "__FILE__"}
"__LINE__", {Enum::Token::Type::SpecificKeyword, Enum::Token::Kind::SpecificKeyword, "SpecificKeyword", "__LINE__"}
"__SUB__", {Enum::Token::Type::SpecificKeyword, Enum::Token::Kind::SpecificKeyword, "SpecificKeyword", "__SUB__"}
"__DATA__", {Enum::Token::Type::DataWord, Enum::Token::Kind::DataWord, "DataWord", "__DATA__"}
"__END__", {Enum::Token::Type::DataWord, Enum::Token::Kind::DataWord, "DataWord", "__END__"}
"BEGIN", {Enum::Token::Type::ModWord, Enum::Token::Kind::ModWord, "ModWord", "BEGIN"}
"CHECK", {Enum::Token::Type::ModWord, Enum::Token::Kind::ModWord, "ModWord", "CHECK"}
"INIT", {Enum::Token::Type::ModWord, Enum::Token::Kind::ModWord, "ModWord", "INIT"}
"END", {Enum::Token::Type::ModWord, Enum::Token::Kind::ModWord, "ModWord", "END"}
"UNITCHECK", {Enum::Token::Type::ModWord, Enum::Token::Kind::ModWord, "ModWord", "UNITCHECK"}
"AUTOLOAD", {Enum::Token::Type::AUTOLOAD, Enum::Token::Kind::AUTOLOAD, "AUTOLOAD", "AUTOLOAD"}
"CORE", {Enum::Token::Type::CORE, Enum::Token::Kind::CORE, "CORE", "CORE"}
"DESTROY", {Enum::Token::Type::DESTROY, Enum::Token::Kind::DESTROY, "DESTROY", "DESTROY"}
"STDIN", {Enum::Token::Type::STDIN, Enum::Token::Kind::Handle, "STDIN", "STDIN"}
"STDOUT", {Enum::Token::Type::STDOUT, Enum::Token::Kind::Handle, "STDOUT", "STDOUT"}
"STDERR", {Enum::Token::Type::STDERR, Enum::Token::Kind::Handle, "STDERR", "STDERR"}
"redo", {Enum::Token::Type::Redo, Enum::Token::Kind::Redo, "Redo", "redo"}
"next", {Enum::Token::Type::Next, Enum::Token::Kind::Next, "Next", "next"}
"last", {Enum::Token::Type::Last, Enum::Token::Kind::Last, "Last", "last"}
"goto", {Enum::Token::Type::Goto, Enum::Token::Kind::Goto, "Goto", "goto"}
"continue", {Enum::Token::Type::Continue, Enum::Token::Kind::Continue, "Continue", "continue"}
"do", {Enum::Token::Type::Do, Enum::Token::Kind::Do, "Do", "do"}
"break", {Enum::Token::Type::Break, Enum::Token::Kind::Break, "Break", "break"}
"-b", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-b"}
"-c", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-c"}
"-d", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-d"}
"-e", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-e"}
"-f", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-f"}
"-g", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-g"}
"-k", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-k"}
"-l", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-l"}
"-o", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-o"}
"-p", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-p"}
"-r", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-r"}
"-s", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-s"}
"-t", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-t"}
"-u", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-u"}
"-w", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-w"}
"-x", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-x"}
"-z", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-z"}
"-A", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-A"}
"-B", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-B"}
"-C", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-C"}
"-M", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-M"}
"-O", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-O"}
"-R", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-R"}
"-S", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-S"}
"-T", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-T"}
"-W", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-W"}
"-X", {Enum::Token::Type::Handle, Enum::Token::Kind::Handle, "Handle", "-X"}
"local", {Enum::Token::Type::LocalDecl, Enum::Token::Kind::Decl, "LocalDecl", "local"}
"our", {Enum::Token::Type::OurDecl, Enum::Token::Kind::Decl, "OurDecl", "our"}
"state", {Enum::Token::Type::StateDecl, Enum::Token::Kind::Decl, "StateDecl", "state"}
"use", {Enum::Token::Type::UseDecl, Enum::Token::Kind::Decl, "UseDecl", "use"}
"if", {Enum::Token::Type::IfStmt, Enum::Token::Kind::Stmt, "IfStmt", "if"}
"else", {Enum::Token::Type::ElseStmt, Enum::Token::Kind::Stmt, "ElseStmt", "else"}
"elsif", {Enum::Token::Type::ElsifStmt, Enum::Token::Kind::Stmt, "ElsifStmt", "elsif"}
"unless", {Enum::Token::Type::UnlessStmt, Enum::Token::Kind::Stmt, "UnlessStmt", "unless"}
"until", {Enum::Token::Type::UntilStmt, Enum::Token::Kind::Stmt, "UntilStmt", "until"}
"when", {Enum::Token::Type::WhenStmt, Enum::Token::Kind::Stmt, "WhenStmt", "when"}
"given", {Enum::Token::Type::GivenStmt, Enum::Token::Kind::Stmt, "GivenStmt", "given"}
"default", {Enum::Token::Type::DefaultStmt, Enum::Token::Kind::DefaultStmt, "DefaultStmt", "default"}
",", {Enum::Token::Type::Comma, Enum::Token::Kind::Comma, "Comma", ","}
":", {Enum::Token::Type::Colon, Enum::Token::Kind::Colon, "Colon", ":"}
";", {Enum::Token::Type::SemiColon, Enum::Token::Kind::StmtEnd, "SemiColon", ";"}
"(", {Enum::Token::Type::LeftParenthesis, Enum::Token::Kind::Symbol, "LeftParenthesis", "("}
")", {Enum::Token::Type::RightParenthesis, Enum::Token::Kind::Symbol, "RightParenthesis", ")"}
"{", {Enum::Token::Type::LeftBrace, Enum::Token::Kind::Symbol, "LeftBrace", "{"}
"}", {Enum::Token::Type::RightBrace, Enum::Token::Kind::Symbol, "RightBrace", "}"}
"[", {Enum::Token::Type::LeftBracket, Enum::Token::Kind::Symbol, "LeftBracket", "["}
"]", {Enum::Token::Type::RightBracket, Enum::Token::Kind::Symbol, "RightBracket", "]"}
"@{", {Enum::Token::Type::ArrayDereference, Enum::Token::Kind::Modifier, "ArrayDereference", "@{"}
"%{", {Enum::Token::Type::HashDereference, Enum::Token::Kind::Modifier, "HashDereference", "%{"}
"${", {Enum::Token::Type::ScalarDereference, Enum::Token::Kind::Modifier, "ScalarDereference", "${"}
"@$", {Enum::Token::Type::ShortArrayDereference, Enum::Token::Kind::Modifier, "ShortArrayDereference", "@$"}
"%$", {Enum::Token::Type::ShortHashDereference, Enum::Token::Kind::Modifier, "ShortHashDereference", "%$"}
"&$", {Enum::Token::Type::ShortCodeDereference, Enum::Token::Kind::Modifier, "ShortCodeDereference", "&$"}
"$#{", {Enum::Token::Type::ArraySizeDereference, Enum::Token::Kind::Modifier, "ArraySizeDereference", "$#{"}
"=>", {Enum::Token::Type::Arrow, Enum::Token::Kind::Operator, "Arrow", "=>"}
"->", {Enum::Token::Type::Pointer, Enum::Token::Kind::Operator, "Pointer", "->"}
"::", {Enum::Token::Type::NamespaceResolver, Enum::Token::Kind::Operator, "NamespaceResolver", "::"}
"package", {Enum::Token::Type::Package, Enum::Token::Kind::Package, "Package", "package"}
"\\&", {Enum::Token::Type::CodeRef, Enum::Token::Kind::SingleTerm, "CodeRef", "\\&"}
"while", {Enum::Token::Type::WhileStmt, Enum::Token::Kind::Stmt, "WhileStmt", "while"}
"for", {Enum::Token::Type::ForStmt, Enum::Token::Kind::Stmt, "ForStmt", "for"}
"foreach", {Enum::Token::Type::ForeachStmt, Enum::Token::Kind::Stmt, "ForeachStmt", "foreach"}
"#@", {Enum::Token::Type::Annotation, Enum::Token::Kind::Annotation, "Annotation", "#@"}
"@_", {Enum::Token::Type::ArgumentArray, Enum::Token::Kind::Term, "ArgumentArray", "@_"}
"$_", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$_"}
"$0", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$0"}
"$1", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$1"}
"$2", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$2"}
"$3", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$3"}
"$4", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$4"}
"$5", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$5"}
"$6", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$6"}
"$7", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$7"}
"$8", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$8"}
"$9", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$9"}
"$&", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$&"}
"$`", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$`"}
"$'", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$'"}
"$+", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$+"}
"$.", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$."}
"$/", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$/"}
"$|", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$|"}
"$*", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$*"}
"$,", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$,"}
"$\\", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$\\"}
"$\"", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$\""}
"$%", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$%"}
"$=", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$="}
"$-", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$-"}
"$~", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$~"}
"$^", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^"}
"$:", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$:"}
"$?", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$?"}
"$!", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$!"}
"$@", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$@"}
"$$", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$$"}
"$<", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$<"}
"$>", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$>"}
"$(", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$("}
"$)", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$)"}
"$[", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$["}
"$]", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$]"}
"$;", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$;"}
"$^A", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^A"}
"$^D", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^D"}
"$^E", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^E"}
"$^F", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^F"}
"$^G", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^G"}
"$^H", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^H"}
"$^I", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^I"}
"$^L", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^L"}
"$^M", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^M"}
"$^O", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^O"}
"$^P", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^P"}
"$^R", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^R"}
"$^T", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^T"}
"$^W", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^W"}
"$^X", {Enum::Token::Type::SpecificValue, Enum::Token::Kind::Term, "SpecificValue", "$^X"}
"@ARGV", {Enum::Token::Type::ProgramArgument, Enum::Token::Kind::Term, "ProgramArgument", "@ARGV"}
"@INC", {Enum::Token::Type::LibraryDirectories, Enum::Token::Kind::Term, "LibraryDirectories", "@INC"}
"%ENV", {Enum::Token::Type::Environment, Enum::Token::Kind::Term, "Environment", "%ENV"}
"%INC", {Enum::Token::Type::Include, Enum::Token::Kind::Term, "Include", "%INC"}
"%SIG", {Enum::Token::Type::Signal, Enum::Token::Kind::Term, "Signal", "%SIG"}
"q", {Enum::Token::Type::RegQuote, Enum::Token::Kind::RegPrefix, "RegQuote", "q"}
"qq", {Enum::Token::Type::RegDoubleQuote, Enum::Token::Kind::RegPrefix, "RegDoubleQuote", "qq"}
"qw", {Enum::Token::Type::RegList, Enum::Token::Kind::RegPrefix, "RegList", "qw"}
"qx", {Enum::Token::Type::RegExec, Enum::Token::Kind::RegPrefix, "RegExec", "qx"}
"qr", {Enum::Token::Type::RegDecl, Enum::Token::Kind::RegPrefix, "RegDecl", "qr"}
"m", {Enum::Token::Type::RegMatch, Enum::Token::Kind::RegPrefix, "RegMatch", "m"}
"tr", {Enum::Token::Type::RegAllReplace, Enum::Token::Kind::RegReplacePrefix, "RegAllReplace", "tr"}
"y", {Enum::Token::Type::RegAllReplace, Enum::Token::Kind::RegReplacePrefix, "RegAllReplace", "y"}
"s", {Enum::Token::Type::RegReplace, Enum::Token::Kind::RegReplacePrefix, "RegReplace", "s"}
"undef", {Enum::Token::Type::Default, Enum::Token::Kind::Term, "Default", "undef"}
%%