| ... | @@ -194,6 +194,130 @@ pub const Token = struct { | ... | @@ -194,6 +194,130 @@ pub const Token = struct { |
| 194 | Keyword_var, | 194 | Keyword_var, |
| 195 | Keyword_volatile, | 195 | Keyword_volatile, |
| 196 | Keyword_while, | 196 | Keyword_while, |
| | 197 | |
| | 198 | pub fn symbol(id: Id) []const u8 { |
| | 199 | return switch (id) { |
| | 200 | .Invalid => "[Invalid]", |
| | 201 | .Invalid_ampersands => "&&", |
| | 202 | .Identifier => "[Identifier]", |
| | 203 | .StringLiteral => "[StringLiteral]", |
| | 204 | .MultilineStringLiteralLine => "[MultilineStringLiteralLine]", |
| | 205 | .CharLiteral => "[CharLiteral]", |
| | 206 | .Eof => "[Eof]", |
| | 207 | .Builtin => "[Builtin]", |
| | 208 | .IntegerLiteral => "[IntegerLiteral]", |
| | 209 | .FloatLiteral => "[FloatLiteral]", |
| | 210 | .LineComment => "[LineComment]", |
| | 211 | .DocComment => "[DocComment]", |
| | 212 | .ShebangLine => "[ShebangLine]", |
| | 213 | |
| | 214 | .Bang => "!", |
| | 215 | .Pipe => "|", |
| | 216 | .PipePipe => "||", |
| | 217 | .PipeEqual => "|=", |
| | 218 | .Equal => "=", |
| | 219 | .EqualEqual => "==", |
| | 220 | .EqualAngleBracketRight => "=>", |
| | 221 | .BangEqual => "!=", |
| | 222 | .LParen => "(", |
| | 223 | .RParen => ")", |
| | 224 | .Semicolon => ";", |
| | 225 | .Percent => "%", |
| | 226 | .PercentEqual => "%=", |
| | 227 | .LBrace => "{", |
| | 228 | .RBrace => "}", |
| | 229 | .LBracket => "[", |
| | 230 | .RBracket => "]", |
| | 231 | .Period => ".", |
| | 232 | .Ellipsis2 => "..", |
| | 233 | .Ellipsis3 => "...", |
| | 234 | .Caret => "^", |
| | 235 | .CaretEqual => "^=", |
| | 236 | .Plus => "+", |
| | 237 | .PlusPlus => "++", |
| | 238 | .PlusEqual => "+=", |
| | 239 | .PlusPercent => "+%", |
| | 240 | .PlusPercentEqual => "+%=", |
| | 241 | .Minus => "-", |
| | 242 | .MinusEqual => "-=", |
| | 243 | .MinusPercent => "-%", |
| | 244 | .MinusPercentEqual => "-%=", |
| | 245 | .Asterisk => "*", |
| | 246 | .AsteriskEqual => "*=", |
| | 247 | .AsteriskAsterisk => "**", |
| | 248 | .AsteriskPercent => "*%", |
| | 249 | .AsteriskPercentEqual => "*%=", |
| | 250 | .Arrow => "->", |
| | 251 | .Colon => ":", |
| | 252 | .Slash => "/", |
| | 253 | .SlashEqual => "/=", |
| | 254 | .Comma => ",", |
| | 255 | .Ampersand => "&", |
| | 256 | .AmpersandEqual => "&=", |
| | 257 | .QuestionMark => "?", |
| | 258 | .AngleBracketLeft => "<", |
| | 259 | .AngleBracketLeftEqual => "<=", |
| | 260 | .AngleBracketAngleBracketLeft => "<<", |
| | 261 | .AngleBracketAngleBracketLeftEqual => "<<=", |
| | 262 | .AngleBracketRight => ">", |
| | 263 | .AngleBracketRightEqual => ">=", |
| | 264 | .AngleBracketAngleBracketRight => ">>", |
| | 265 | .AngleBracketAngleBracketRightEqual => ">>=", |
| | 266 | .Tilde => "~", |
| | 267 | .BracketStarBracket => "[*]", |
| | 268 | .BracketStarCBracket => "[*c]", |
| | 269 | .Keyword_align => "align", |
| | 270 | .Keyword_allowzero => "allowzero", |
| | 271 | .Keyword_and => "and", |
| | 272 | .Keyword_asm => "asm", |
| | 273 | .Keyword_async => "async", |
| | 274 | .Keyword_await => "await", |
| | 275 | .Keyword_break => "break", |
| | 276 | .Keyword_cancel => "cancel", |
| | 277 | .Keyword_catch => "catch", |
| | 278 | .Keyword_comptime => "comptime", |
| | 279 | .Keyword_const => "const", |
| | 280 | .Keyword_continue => "continue", |
| | 281 | .Keyword_defer => "defer", |
| | 282 | .Keyword_else => "else", |
| | 283 | .Keyword_enum => "enum", |
| | 284 | .Keyword_errdefer => "errdefer", |
| | 285 | .Keyword_error => "error", |
| | 286 | .Keyword_export => "export", |
| | 287 | .Keyword_extern => "extern", |
| | 288 | .Keyword_false => "false", |
| | 289 | .Keyword_fn => "fn", |
| | 290 | .Keyword_for => "for", |
| | 291 | .Keyword_if => "if", |
| | 292 | .Keyword_inline => "inline", |
| | 293 | .Keyword_nakedcc => "nakedcc", |
| | 294 | .Keyword_noalias => "noalias", |
| | 295 | .Keyword_null => "null", |
| | 296 | .Keyword_or => "or", |
| | 297 | .Keyword_orelse => "orelse", |
| | 298 | .Keyword_packed => "packed", |
| | 299 | .Keyword_promise => "promise", |
| | 300 | .Keyword_pub => "pub", |
| | 301 | .Keyword_resume => "resume", |
| | 302 | .Keyword_return => "return", |
| | 303 | .Keyword_linksection => "linksection", |
| | 304 | .Keyword_stdcallcc => "stdcallcc", |
| | 305 | .Keyword_struct => "struct", |
| | 306 | .Keyword_suspend => "suspend", |
| | 307 | .Keyword_switch => "switch", |
| | 308 | .Keyword_test => "test", |
| | 309 | .Keyword_threadlocal => "threadlocal", |
| | 310 | .Keyword_true => "true", |
| | 311 | .Keyword_try => "try", |
| | 312 | .Keyword_undefined => "undefined", |
| | 313 | .Keyword_union => "union", |
| | 314 | .Keyword_unreachable => "unreachable", |
| | 315 | .Keyword_usingnamespace => "usingnamespace", |
| | 316 | .Keyword_var => "var", |
| | 317 | .Keyword_volatile => "volatile", |
| | 318 | .Keyword_while => "while", |
| | 319 | }; |
| | 320 | } |
| 197 | }; | 321 | }; |
| 198 | }; | 322 | }; |
| 199 | | 323 | |