///|
pub fn Token::to_expect_string(self : Self) -> String {
self.kind().to_expect_string()
}
///|
pub fn TokenKind::to_expect_string(self : Self) -> String {
match self {
TK_CHAR => "char"
TK_INT => "int"
TK_BYTE => "b'...'"
TK_BYTES => "b\"...\""
TK_FLOAT => "float"
TK_DOUBLE => "double"
TK_STRING => "string"
TK_MULTILINE_STRING => "`#|...`"
TK_MULTILINE_INTERP => "`$|...`"
TK_INTERP => "string interpolation"
TK_BYTES_INTERP => "bytes interpolation"
TK_ATTRIBUTE => "`#attribute`"
TK_LIDENT => "id (lowercase start)"
TK_UIDENT => "id (uppercase start)"
TK_POST_LABEL => "`label~`"
TK_POST_LABEL_TRANSPARENT => "`label~~`"
TK_COMMENT => "COMMENT"
TK_NEWLINE => "NEWLINE"
TK_INFIX1 | TK_INFIX2 | TK_INFIX3 | TK_INFIX4 => "infix operator"
TK_AUGMENTED_ASSIGNMENT => "augmented assignment"
TK_PLUS_EQUAL => "`+=`"
TK_EOF => "EOF"
TK_FALSE => "`false`"
TK_TRUE => "`true`"
TK_PUB => "`pub`"
TK_PRIV => "`priv`"
TK_READONLY => "`readonly`"
TK_IMPORT => "`import`"
TK_EXTERN => "`extern`"
TK_BREAK => "`break`"
TK_CONTINUE => "`continue`"
TK_STRUCT => "`struct`"
TK_ENUM => "`enum`"
TK_TRAIT => "`trait`"
TK_DERIVE => "`derive`"
TK_IMPL => "`impl`"
TK_WITH => "`with`"
TK_RAISE => "`raise`"
TK_THROW => "`throw`"
TK_TRY => "`try`"
TK_CATCH => "`catch`"
TK_ASYNC => "`async`"
TK_TYPEALIAS => "`typealias`"
TK_TRAITALIAS => "`traitalias`"
TK_FNALIAS => "`fnalias`"
TK_EQUAL => "`=`"
TK_EQ_TILDE => "`=~`"
TK_LPAREN => "`(`"
TK_RPAREN => "`)`"
TK_COMMA => "`,`"
TK_MINUS => "`-`"
TK_QUESTION => "`?`"
TK_EXCLAMATION => "`!`"
TK_DOT_LIDENT => "`.id` (lowercase start)"
TK_DOT_UIDENT => "`.id` (uppercase start)"
TK_DOT_INT => "`.` int"
TK_DOT_LPAREN => "`.(`"
TK_COLONCOLON => "`::`"
TK_COLON => "`:`"
TK_SEMI => "`;`"
TK_LBRACKET => "`[`"
TK_LBRACKET_BAR => "`[|`"
TK_PLUS => "`+`"
TK_RBRACKET => "`]`"
TK_BAR_RBRACKET => "`|]`"
TK_UNDERSCORE => "`_`"
TK_BAR => "`|`"
TK_LBRACE => "`{`"
TK_RBRACE => "`}`"
TK_AMPERAMPER => "`&&`"
TK_AMPER => "`&`"
TK_CARET => "`^`"
TK_BARBAR => "`||`"
TK_PACKAGE_NAME => "`@pkg.id`"
TK_AS => "`as`"
TK_PIPE => "`|>`"
TK_PIPE_LEFT => "`<|`"
TK_LT_PLUS => "`<+`"
TK_LT_QUESTION => "``"
TK_ELSE => "`else`"
TK_FN => "`fn`"
TK_IF => "`if`"
TK_LET => "`let`"
TK_PROOF_ASSERT => "`proof_assert`"
TK_PROOF_LET => "`proof_let`"
TK_CONST => "`const`"
TK_MATCH => "`match`"
TK_USING => "`using`"
TK_MUTABLE => "`mut`"
TK_TYPE => "`type`"
TK_FAT_ARROW => "`=>`"
TK_THIN_ARROW => "`->`"
TK_WHILE => "`while`"
TK_RETURN => "`return`"
TK_DOTDOT => "`..`"
TK_RANGE_INCLUSIVE => "`..=`"
TK_RANGE_EXCLUSIVE => "`..<`"
TK_ELLIPSIS => "`...`"
TK_TEST => "`test`"
TK_LOOP => "`loop`"
TK_GUARD => "`guard`"
TK_GUARD_EXCLAMATION => "`guard!`"
TK_DEFER => "`defer`"
TK_FOR => "`for`"
TK_IN => "`in`"
TK_IS => "`is`"
TK_SUBERROR => "`suberror`"
TK_AND => "`and`"
TK_FORALL => "`∀`"
TK_EXISTS => "`∃`"
TK_IMPLIES => "`→`"
TK_LETREC => "`letrec`"
TK_ENUMVIEW => "`enumview`"
TK_NORAISE => "`noraise`"
TK_TRY_QUESTION => "`try?`"
TK_TRY_EXCLAMATION => "`try!`"
TK_LEXMATCH => "lexmatch"
TK_LEXMATCH_QUESTION => "lexmatch?"
TK_LEXSCAN => "`lexscan`"
TK_EXTEND => "`extend`"
TK_REGEX_LITERAL => "regex"
TK_REGEX_INTERP => "regex interp"
TK_DECLARE => "declare"
TK_RANGE_EXCLUSIVE_REV => ">.."
TK_RANGE_INCLUSIVE_REV => ">=.."
TK_RANGE_LT_INCLUSIVE => "..<="
TK_WHERE => "where"
TK_NOBREAK => "nobreak"
TK_PACKAGE => "package"
TK_EXTENUM => "extenum"
}
}