From 5da3a651ba08859ccc1cdf1094603411696c8df2 Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Thu, 14 Mar 2024 23:22:23 +0100 Subject: feat: improve debug output of tokens --- lang/token.go | 4 +- lang/tokenid_string.go | 115 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 lang/tokenid_string.go (limited to 'lang') diff --git a/lang/token.go b/lang/token.go index 5205efc..613f2c6 100644 --- a/lang/token.go +++ b/lang/token.go @@ -1,9 +1,11 @@ package lang +//go:generate stringer -type=TokenId + type TokenId int const ( - Illegal = iota + Illegal TokenId = iota Comment Ident diff --git a/lang/tokenid_string.go b/lang/tokenid_string.go new file mode 100644 index 0000000..705edc6 --- /dev/null +++ b/lang/tokenid_string.go @@ -0,0 +1,115 @@ +// Code generated by "stringer -type=TokenId"; DO NOT EDIT. + +package lang + +import "strconv" + +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[Illegal-0] + _ = x[Comment-1] + _ = x[Ident-2] + _ = x[Char-3] + _ = x[Float-4] + _ = x[Imag-5] + _ = x[Int-6] + _ = x[String-7] + _ = x[Add-8] + _ = x[Sub-9] + _ = x[Mul-10] + _ = x[Quo-11] + _ = x[Rem-12] + _ = x[And-13] + _ = x[Or-14] + _ = x[Xor-15] + _ = x[Shl-16] + _ = x[Shr-17] + _ = x[AndNot-18] + _ = x[Period-19] + _ = x[Equal-20] + _ = x[Greater-21] + _ = x[GreaterEqual-22] + _ = x[Land-23] + _ = x[Less-24] + _ = x[LessEqual-25] + _ = x[Lor-26] + _ = x[NotEqual-27] + _ = x[Define-28] + _ = x[Assign-29] + _ = x[AddAssign-30] + _ = x[SubAssign-31] + _ = x[MulAssign-32] + _ = x[QuoAssign-33] + _ = x[RemAssign-34] + _ = x[AndAssign-35] + _ = x[OrAssign-36] + _ = x[XorAssign-37] + _ = x[ShlAssign-38] + _ = x[ShrAssign-39] + _ = x[AndNotAssign-40] + _ = x[Inc-41] + _ = x[Dec-42] + _ = x[Plus-43] + _ = x[Minus-44] + _ = x[Addr-45] + _ = x[Deref-46] + _ = x[BitComp-47] + _ = x[Arrow-48] + _ = x[Ellipsis-49] + _ = x[Not-50] + _ = x[Tilde-51] + _ = x[Comma-52] + _ = x[Semicolon-53] + _ = x[Colon-54] + _ = x[ParenBlock-55] + _ = x[BracketBlock-56] + _ = x[BraceBlock-57] + _ = x[Break-58] + _ = x[Case-59] + _ = x[Chan-60] + _ = x[Const-61] + _ = x[Continue-62] + _ = x[Default-63] + _ = x[Defer-64] + _ = x[Else-65] + _ = x[Fallthrough-66] + _ = x[For-67] + _ = x[Func-68] + _ = x[Go-69] + _ = x[Goto-70] + _ = x[If-71] + _ = x[Import-72] + _ = x[Interface-73] + _ = x[Map-74] + _ = x[Package-75] + _ = x[Range-76] + _ = x[Return-77] + _ = x[Select-78] + _ = x[Struct-79] + _ = x[Switch-80] + _ = x[Type-81] + _ = x[Var-82] + _ = x[Call-83] + _ = x[CallX-84] + _ = x[EqualSet-85] + _ = x[Grow-86] + _ = x[Index-87] + _ = x[JumpFalse-88] + _ = x[JumpSetFalse-89] + _ = x[JumpSetTrue-90] + _ = x[Label-91] + _ = x[New-92] +} + +const _TokenId_name = "IllegalCommentIdentCharFloatImagIntStringAddSubMulQuoRemAndOrXorShlShrAndNotPeriodEqualGreaterGreaterEqualLandLessLessEqualLorNotEqualDefineAssignAddAssignSubAssignMulAssignQuoAssignRemAssignAndAssignOrAssignXorAssignShlAssignShrAssignAndNotAssignIncDecPlusMinusAddrDerefBitCompArrowEllipsisNotTildeCommaSemicolonColonParenBlockBracketBlockBraceBlockBreakCaseChanConstContinueDefaultDeferElseFallthroughForFuncGoGotoIfImportInterfaceMapPackageRangeReturnSelectStructSwitchTypeVarCallCallXEqualSetGrowIndexJumpFalseJumpSetFalseJumpSetTrueLabelNew" + +var _TokenId_index = [...]uint16{0, 7, 14, 19, 23, 28, 32, 35, 41, 44, 47, 50, 53, 56, 59, 61, 64, 67, 70, 76, 82, 87, 94, 106, 110, 114, 123, 126, 134, 140, 146, 155, 164, 173, 182, 191, 200, 208, 217, 226, 235, 247, 250, 253, 257, 262, 266, 271, 278, 283, 291, 294, 299, 304, 313, 318, 328, 340, 350, 355, 359, 363, 368, 376, 383, 388, 392, 403, 406, 410, 412, 416, 418, 424, 433, 436, 443, 448, 454, 460, 466, 472, 476, 479, 483, 488, 496, 500, 505, 514, 526, 537, 542, 545} + +func (i TokenId) String() string { + if i < 0 || i >= TokenId(len(_TokenId_index)-1) { + return "TokenId(" + strconv.FormatInt(int64(i), 10) + ")" + } + return _TokenId_name[_TokenId_index[i]:_TokenId_index[i+1]] +} -- cgit v1.2.3