| ... | ... | @@ -194,6 +194,130 @@ pub const Token = struct { |
| 194 | 194 | Keyword_var, |
| 195 | 195 | Keyword_volatile, |
| 196 | 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 | |