Ruby 3.4.4p34 (2025-05-14 revision a38531fd3f617bf734ef7d6c595325f69985ea1d)
token_type.c
1/*----------------------------------------------------------------------------*/
2/* This file is generated by the templates/template.rb script and should not */
3/* be modified manually. See */
4/* templates/src/token_type.c.erb */
5/* if you are looking to modify the */
6/* template */
7/*----------------------------------------------------------------------------*/
8
9#include <string.h>
10
11#include "prism/ast.h"
12
16PRISM_EXPORTED_FUNCTION const char *
18 switch (token_type) {
19 case PM_TOKEN_EOF:
20 return "EOF";
22 return "MISSING";
24 return "NOT_PROVIDED";
26 return "AMPERSAND";
28 return "AMPERSAND_AMPERSAND";
30 return "AMPERSAND_AMPERSAND_EQUAL";
32 return "AMPERSAND_DOT";
34 return "AMPERSAND_EQUAL";
36 return "BACKTICK";
38 return "BACK_REFERENCE";
39 case PM_TOKEN_BANG:
40 return "BANG";
42 return "BANG_EQUAL";
44 return "BANG_TILDE";
46 return "BRACE_LEFT";
48 return "BRACE_RIGHT";
50 return "BRACKET_LEFT";
52 return "BRACKET_LEFT_ARRAY";
54 return "BRACKET_LEFT_RIGHT";
56 return "BRACKET_LEFT_RIGHT_EQUAL";
58 return "BRACKET_RIGHT";
59 case PM_TOKEN_CARET:
60 return "CARET";
62 return "CARET_EQUAL";
64 return "CHARACTER_LITERAL";
66 return "CLASS_VARIABLE";
67 case PM_TOKEN_COLON:
68 return "COLON";
70 return "COLON_COLON";
71 case PM_TOKEN_COMMA:
72 return "COMMA";
74 return "COMMENT";
76 return "CONSTANT";
77 case PM_TOKEN_DOT:
78 return "DOT";
80 return "DOT_DOT";
82 return "DOT_DOT_DOT";
84 return "EMBDOC_BEGIN";
86 return "EMBDOC_END";
88 return "EMBDOC_LINE";
90 return "EMBEXPR_BEGIN";
92 return "EMBEXPR_END";
93 case PM_TOKEN_EMBVAR:
94 return "EMBVAR";
95 case PM_TOKEN_EQUAL:
96 return "EQUAL";
98 return "EQUAL_EQUAL";
100 return "EQUAL_EQUAL_EQUAL";
102 return "EQUAL_GREATER";
104 return "EQUAL_TILDE";
105 case PM_TOKEN_FLOAT:
106 return "FLOAT";
108 return "FLOAT_IMAGINARY";
110 return "FLOAT_RATIONAL";
112 return "FLOAT_RATIONAL_IMAGINARY";
114 return "GLOBAL_VARIABLE";
115 case PM_TOKEN_GREATER:
116 return "GREATER";
118 return "GREATER_EQUAL";
120 return "GREATER_GREATER";
122 return "GREATER_GREATER_EQUAL";
124 return "HEREDOC_END";
126 return "HEREDOC_START";
128 return "IDENTIFIER";
130 return "IGNORED_NEWLINE";
132 return "INSTANCE_VARIABLE";
133 case PM_TOKEN_INTEGER:
134 return "INTEGER";
136 return "INTEGER_IMAGINARY";
138 return "INTEGER_RATIONAL";
140 return "INTEGER_RATIONAL_IMAGINARY";
142 return "KEYWORD_ALIAS";
144 return "KEYWORD_AND";
146 return "KEYWORD_BEGIN";
148 return "KEYWORD_BEGIN_UPCASE";
150 return "KEYWORD_BREAK";
152 return "KEYWORD_CASE";
154 return "KEYWORD_CLASS";
156 return "KEYWORD_DEF";
158 return "KEYWORD_DEFINED";
160 return "KEYWORD_DO";
162 return "KEYWORD_DO_LOOP";
164 return "KEYWORD_ELSE";
166 return "KEYWORD_ELSIF";
168 return "KEYWORD_END";
170 return "KEYWORD_END_UPCASE";
172 return "KEYWORD_ENSURE";
174 return "KEYWORD_FALSE";
176 return "KEYWORD_FOR";
178 return "KEYWORD_IF";
180 return "KEYWORD_IF_MODIFIER";
182 return "KEYWORD_IN";
184 return "KEYWORD_MODULE";
186 return "KEYWORD_NEXT";
188 return "KEYWORD_NIL";
190 return "KEYWORD_NOT";
192 return "KEYWORD_OR";
194 return "KEYWORD_REDO";
196 return "KEYWORD_RESCUE";
198 return "KEYWORD_RESCUE_MODIFIER";
200 return "KEYWORD_RETRY";
202 return "KEYWORD_RETURN";
204 return "KEYWORD_SELF";
206 return "KEYWORD_SUPER";
208 return "KEYWORD_THEN";
210 return "KEYWORD_TRUE";
212 return "KEYWORD_UNDEF";
214 return "KEYWORD_UNLESS";
216 return "KEYWORD_UNLESS_MODIFIER";
218 return "KEYWORD_UNTIL";
220 return "KEYWORD_UNTIL_MODIFIER";
222 return "KEYWORD_WHEN";
224 return "KEYWORD_WHILE";
226 return "KEYWORD_WHILE_MODIFIER";
228 return "KEYWORD_YIELD";
230 return "KEYWORD___ENCODING__";
232 return "KEYWORD___FILE__";
234 return "KEYWORD___LINE__";
235 case PM_TOKEN_LABEL:
236 return "LABEL";
238 return "LABEL_END";
240 return "LAMBDA_BEGIN";
241 case PM_TOKEN_LESS:
242 return "LESS";
244 return "LESS_EQUAL";
246 return "LESS_EQUAL_GREATER";
248 return "LESS_LESS";
250 return "LESS_LESS_EQUAL";
252 return "METHOD_NAME";
253 case PM_TOKEN_MINUS:
254 return "MINUS";
256 return "MINUS_EQUAL";
258 return "MINUS_GREATER";
259 case PM_TOKEN_NEWLINE:
260 return "NEWLINE";
262 return "NUMBERED_REFERENCE";
264 return "PARENTHESIS_LEFT";
266 return "PARENTHESIS_LEFT_PARENTHESES";
268 return "PARENTHESIS_RIGHT";
269 case PM_TOKEN_PERCENT:
270 return "PERCENT";
272 return "PERCENT_EQUAL";
274 return "PERCENT_LOWER_I";
276 return "PERCENT_LOWER_W";
278 return "PERCENT_LOWER_X";
280 return "PERCENT_UPPER_I";
282 return "PERCENT_UPPER_W";
283 case PM_TOKEN_PIPE:
284 return "PIPE";
286 return "PIPE_EQUAL";
288 return "PIPE_PIPE";
290 return "PIPE_PIPE_EQUAL";
291 case PM_TOKEN_PLUS:
292 return "PLUS";
294 return "PLUS_EQUAL";
296 return "QUESTION_MARK";
298 return "REGEXP_BEGIN";
300 return "REGEXP_END";
302 return "SEMICOLON";
303 case PM_TOKEN_SLASH:
304 return "SLASH";
306 return "SLASH_EQUAL";
307 case PM_TOKEN_STAR:
308 return "STAR";
310 return "STAR_EQUAL";
312 return "STAR_STAR";
314 return "STAR_STAR_EQUAL";
316 return "STRING_BEGIN";
318 return "STRING_CONTENT";
320 return "STRING_END";
322 return "SYMBOL_BEGIN";
323 case PM_TOKEN_TILDE:
324 return "TILDE";
326 return "UAMPERSAND";
328 return "UCOLON_COLON";
330 return "UDOT_DOT";
332 return "UDOT_DOT_DOT";
333 case PM_TOKEN_UMINUS:
334 return "UMINUS";
336 return "UMINUS_NUM";
337 case PM_TOKEN_UPLUS:
338 return "UPLUS";
339 case PM_TOKEN_USTAR:
340 return "USTAR";
342 return "USTAR_STAR";
344 return "WORDS_SEP";
345 case PM_TOKEN___END__:
346 return "__END__";
347 case PM_TOKEN_MAXIMUM:
348 assert(false && "unreachable");
349 return "";
350 }
351
352 // Provide a default, because some compilers can't determine that the above
353 // switch is exhaustive.
354 assert(false && "unreachable");
355 return "";
356}
357
361const char *
363 switch (token_type) {
364 case PM_TOKEN_EOF:
365 return "end-of-input";
366 case PM_TOKEN_MISSING:
367 return "missing token";
369 return "not provided token";
371 return "'&'";
373 return "'&&'";
375 return "'&&='";
377 return "'&.'";
379 return "'&='";
381 return "'`'";
383 return "back reference";
384 case PM_TOKEN_BANG:
385 return "'!'";
387 return "'!='";
389 return "'!~'";
391 return "'{'";
393 return "'}'";
395 return "'['";
397 return "'['";
399 return "'[]'";
401 return "'[]='";
403 return "']'";
404 case PM_TOKEN_CARET:
405 return "'^'";
407 return "'^='";
409 return "character literal";
411 return "class variable";
412 case PM_TOKEN_COLON:
413 return "':'";
415 return "'::'";
416 case PM_TOKEN_COMMA:
417 return "','";
418 case PM_TOKEN_COMMENT:
419 return "comment";
421 return "constant";
422 case PM_TOKEN_DOT:
423 return "'.'";
424 case PM_TOKEN_DOT_DOT:
425 return "..";
427 return "...";
429 return "'=begin'";
431 return "'=end'";
433 return "embedded documentation line";
435 return "'#{'";
437 return "'}'";
438 case PM_TOKEN_EMBVAR:
439 return "'#'";
440 case PM_TOKEN_EQUAL:
441 return "'='";
443 return "'=='";
445 return "'==='";
447 return "'=>'";
449 return "'=~'";
450 case PM_TOKEN_FLOAT:
451 return "float";
453 return "imaginary";
455 return "rational";
457 return "imaginary";
459 return "global variable";
460 case PM_TOKEN_GREATER:
461 return "'>'";
463 return "'>='";
465 return ">>";
467 return ">>=";
469 return "heredoc ending";
471 return "heredoc beginning";
473 return "local variable or method";
475 return "ignored newline";
477 return "instance variable";
478 case PM_TOKEN_INTEGER:
479 return "integer";
481 return "imaginary";
483 return "rational";
485 return "imaginary";
487 return "'alias'";
489 return "'and'";
491 return "'begin'";
493 return "'BEGIN'";
495 return "'break'";
497 return "'case'";
499 return "'class'";
501 return "'def'";
503 return "'defined?'";
505 return "'do'";
507 return "'do'";
509 return "'else'";
511 return "'elsif'";
513 return "'end'";
515 return "'END'";
517 return "'ensure'";
519 return "'false'";
521 return "'for'";
523 return "'if'";
525 return "'if'";
527 return "'in'";
529 return "'module'";
531 return "'next'";
533 return "'nil'";
535 return "'not'";
537 return "'or'";
539 return "'redo'";
541 return "'rescue'";
543 return "'rescue' modifier";
545 return "'retry'";
547 return "'return'";
549 return "'self'";
551 return "'super'";
553 return "'then'";
555 return "'true'";
557 return "'undef'";
559 return "'unless'";
561 return "'unless'";
563 return "'until'";
565 return "'until'";
567 return "'when'";
569 return "'while'";
571 return "'while'";
573 return "'yield'";
575 return "'__ENCODING__'";
577 return "'__FILE__'";
579 return "'__LINE__'";
580 case PM_TOKEN_LABEL:
581 return "label";
583 return "label terminator";
585 return "'{'";
586 case PM_TOKEN_LESS:
587 return "'<'";
589 return "'<='";
591 return "'<=>'";
593 return "<<";
595 return "<<=";
597 return "method name";
598 case PM_TOKEN_MINUS:
599 return "'-'";
601 return "'-='";
603 return "'->'";
604 case PM_TOKEN_NEWLINE:
605 return "newline";
607 return "numbered reference";
609 return "'('";
611 return "'('";
613 return "')'";
614 case PM_TOKEN_PERCENT:
615 return "'%'";
617 return "'%='";
619 return "'%i'";
621 return "'%w'";
623 return "'%x'";
625 return "'%I'";
627 return "'%W'";
628 case PM_TOKEN_PIPE:
629 return "'|'";
631 return "'|='";
633 return "'||'";
635 return "'||='";
636 case PM_TOKEN_PLUS:
637 return "'+'";
639 return "'+='";
641 return "'?'";
643 return "regular expression beginning";
645 return "regular expression ending";
647 return "';'";
648 case PM_TOKEN_SLASH:
649 return "'/'";
651 return "'/='";
652 case PM_TOKEN_STAR:
653 return "'*'";
655 return "'*='";
657 return "'**'";
659 return "'**='";
661 return "string literal";
663 return "string content";
665 return "string ending";
667 return "symbol literal";
668 case PM_TOKEN_TILDE:
669 return "'~'";
671 return "'&'";
673 return "'::'";
675 return "'..'";
677 return "'...'";
678 case PM_TOKEN_UMINUS:
679 return "'-'";
681 return "'-'";
682 case PM_TOKEN_UPLUS:
683 return "'+'";
684 case PM_TOKEN_USTAR:
685 return "*";
687 return "**";
689 return "string separator";
690 case PM_TOKEN___END__:
691 return "'__END__'";
692 case PM_TOKEN_MAXIMUM:
693 assert(false && "unreachable");
694 return "";
695 }
696
697 // Provide a default, because some compilers can't determine that the above
698 // switch is exhaustive.
699 assert(false && "unreachable");
700 return "";
701}
The abstract syntax tree.
enum pm_token_type pm_token_type_t
This enum represents every type of token in the Ruby source.
@ PM_TOKEN_STAR_STAR
**
Definition ast.h:469
@ PM_TOKEN_DOT_DOT_DOT
the ... range operator or forwarding parameter
Definition ast.h:124
@ PM_TOKEN_MINUS_EQUAL
-=
Definition ast.h:385
@ PM_TOKEN_IGNORED_NEWLINE
an ignored newline
Definition ast.h:196
@ PM_TOKEN_BANG_EQUAL
!=
Definition ast.h:64
@ PM_TOKEN_KEYWORD___FILE__
FILE
Definition ast.h:349
@ PM_TOKEN_KEYWORD_WHEN
when
Definition ast.h:334
@ PM_TOKEN_FLOAT
a floating point number
Definition ast.h:160
@ PM_TOKEN_PLUS_EQUAL
+=
Definition ast.h:442
@ PM_TOKEN_DOT_DOT
the .
Definition ast.h:121
@ PM_TOKEN_UDOT_DOT
unary .
Definition ast.h:496
@ PM_TOKEN_AMPERSAND_DOT
&.
Definition ast.h:49
@ PM_TOKEN_NEWLINE
a newline character outside of other tokens
Definition ast.h:391
@ PM_TOKEN_NUMBERED_REFERENCE
a numbered reference to a capture group in the previous regular expression match
Definition ast.h:394
@ PM_TOKEN_AMPERSAND
&
Definition ast.h:40
@ PM_TOKEN_KEYWORD_YIELD
yield
Definition ast.h:343
@ PM_TOKEN_KEYWORD_END
end
Definition ast.h:253
@ PM_TOKEN_LAMBDA_BEGIN
{
Definition ast.h:361
@ PM_TOKEN_KEYWORD_UNTIL_MODIFIER
until in the modifier form
Definition ast.h:331
@ PM_TOKEN_EQUAL_EQUAL_EQUAL
===
Definition ast.h:151
@ PM_TOKEN_INTEGER_RATIONAL
an integer with a rational suffix
Definition ast.h:208
@ PM_TOKEN_USTAR
unary *
Definition ast.h:511
@ PM_TOKEN_TILDE
~ or ~@
Definition ast.h:487
@ PM_TOKEN_KEYWORD___ENCODING__
ENCODING
Definition ast.h:346
@ PM_TOKEN_REGEXP_END
the end of a regular expression
Definition ast.h:451
@ PM_TOKEN_KEYWORD_UNTIL
until
Definition ast.h:328
@ PM_TOKEN_COMMA
,
Definition ast.h:109
@ PM_TOKEN_MAXIMUM
The maximum token value.
Definition ast.h:523
@ PM_TOKEN_GREATER
Definition ast.h:175
@ PM_TOKEN_INTEGER
an integer (any base)
Definition ast.h:202
@ PM_TOKEN_SLASH_EQUAL
/=
Definition ast.h:460
@ PM_TOKEN_UMINUS_NUM
-@ for a number
Definition ast.h:505
@ PM_TOKEN_EMBVAR
Definition ast.h:142
@ PM_TOKEN_KEYWORD_UNLESS_MODIFIER
unless in the modifier form
Definition ast.h:325
@ PM_TOKEN_INTEGER_RATIONAL_IMAGINARY
an integer with a rational and imaginary suffix
Definition ast.h:211
@ PM_TOKEN_FLOAT_RATIONAL_IMAGINARY
a floating pointer number with a rational and imaginary suffix
Definition ast.h:169
@ PM_TOKEN_BRACKET_LEFT_RIGHT
[]
Definition ast.h:82
@ PM_TOKEN_AMPERSAND_AMPERSAND_EQUAL
&&=
Definition ast.h:46
@ PM_TOKEN_KEYWORD_CLASS
class
Definition ast.h:232
@ PM_TOKEN_KEYWORD_BEGIN
begin
Definition ast.h:220
@ PM_TOKEN_NOT_PROVIDED
a token that was not present but it is okay
Definition ast.h:37
@ PM_TOKEN_USTAR_STAR
unary **
Definition ast.h:514
@ PM_TOKEN_GREATER_GREATER_EQUAL
Definition ast.h:184
@ PM_TOKEN_PERCENT_EQUAL
%=
Definition ast.h:409
@ PM_TOKEN_PERCENT
%
Definition ast.h:406
@ PM_TOKEN_KEYWORD_IN
in
Definition ast.h:274
@ PM_TOKEN_BANG
!
Definition ast.h:61
@ PM_TOKEN_KEYWORD_NOT
not
Definition ast.h:286
@ PM_TOKEN_BRACKET_LEFT_ARRAY
[ for the beginning of an array
Definition ast.h:79
@ PM_TOKEN_HEREDOC_END
the end of a heredoc
Definition ast.h:187
@ PM_TOKEN_HEREDOC_START
the start of a heredoc
Definition ast.h:190
@ PM_TOKEN_KEYWORD_DEFINED
defined?
Definition ast.h:238
@ PM_TOKEN_UCOLON_COLON
unary ::
Definition ast.h:493
@ PM_TOKEN_LABEL_END
the end of a label
Definition ast.h:358
@ PM_TOKEN_EQUAL_GREATER
=>
Definition ast.h:154
@ PM_TOKEN_KEYWORD_UNLESS
unless
Definition ast.h:322
@ PM_TOKEN_KEYWORD_ENSURE
ensure
Definition ast.h:259
@ PM_TOKEN_AMPERSAND_EQUAL
&=
Definition ast.h:52
@ PM_TOKEN_EQUAL_EQUAL
==
Definition ast.h:148
@ PM_TOKEN_UPLUS
+@
Definition ast.h:508
@ PM_TOKEN_FLOAT_IMAGINARY
a floating pointer number with an imaginary suffix
Definition ast.h:163
@ PM_TOKEN_KEYWORD_BEGIN_UPCASE
BEGIN.
Definition ast.h:223
@ PM_TOKEN_LESS_EQUAL_GREATER
<=>
Definition ast.h:370
@ PM_TOKEN_KEYWORD_RESCUE_MODIFIER
rescue in the modifier form
Definition ast.h:298
@ PM_TOKEN_MISSING
a token that was expected but not found
Definition ast.h:34
@ PM_TOKEN_MINUS_GREATER
->
Definition ast.h:388
@ PM_TOKEN_KEYWORD_FALSE
false
Definition ast.h:262
@ PM_TOKEN_PIPE_PIPE_EQUAL
||=
Definition ast.h:436
@ PM_TOKEN_KEYWORD_IF
if
Definition ast.h:268
@ PM_TOKEN_EMBEXPR_BEGIN
#{
Definition ast.h:136
@ PM_TOKEN_PARENTHESIS_LEFT_PARENTHESES
( for a parentheses node
Definition ast.h:400
@ PM_TOKEN_EMBDOC_END
=end
Definition ast.h:130
@ PM_TOKEN_KEYWORD_ELSE
else
Definition ast.h:247
@ PM_TOKEN_BACK_REFERENCE
a back reference
Definition ast.h:58
@ PM_TOKEN_BRACKET_LEFT
[
Definition ast.h:76
@ PM_TOKEN_EOF
final token in the file
Definition ast.h:31
@ PM_TOKEN_PIPE_PIPE
||
Definition ast.h:433
@ PM_TOKEN_KEYWORD_NIL
nil
Definition ast.h:283
@ PM_TOKEN_PERCENT_UPPER_W
W
Definition ast.h:424
@ PM_TOKEN_KEYWORD_RETURN
return
Definition ast.h:304
@ PM_TOKEN_CLASS_VARIABLE
a class variable
Definition ast.h:100
@ PM_TOKEN_PIPE
|
Definition ast.h:427
@ PM_TOKEN_PARENTHESIS_LEFT
(
Definition ast.h:397
@ PM_TOKEN_BANG_TILDE
!
Definition ast.h:67
@ PM_TOKEN_DOT
the .
Definition ast.h:118
@ PM_TOKEN_PARENTHESIS_RIGHT
)
Definition ast.h:403
@ PM_TOKEN_KEYWORD_RESCUE
rescue
Definition ast.h:295
@ PM_TOKEN_INSTANCE_VARIABLE
an instance variable
Definition ast.h:199
@ PM_TOKEN_PIPE_EQUAL
|=
Definition ast.h:430
@ PM_TOKEN_BRACKET_LEFT_RIGHT_EQUAL
[]=
Definition ast.h:85
@ PM_TOKEN_UAMPERSAND
unary &
Definition ast.h:490
@ PM_TOKEN_MINUS
Definition ast.h:382
@ PM_TOKEN_CONSTANT
a constant
Definition ast.h:115
@ PM_TOKEN_IDENTIFIER
an identifier
Definition ast.h:193
@ PM_TOKEN_EMBDOC_BEGIN
=begin
Definition ast.h:127
@ PM_TOKEN_STAR_EQUAL
*=
Definition ast.h:466
@ PM_TOKEN_KEYWORD_OR
or
Definition ast.h:289
@ PM_TOKEN_KEYWORD_AND
and
Definition ast.h:217
@ PM_TOKEN_LESS
<
Definition ast.h:364
@ PM_TOKEN_KEYWORD_BREAK
break
Definition ast.h:226
@ PM_TOKEN_PERCENT_LOWER_W
w
Definition ast.h:415
@ PM_TOKEN_SYMBOL_BEGIN
the beginning of a symbol
Definition ast.h:484
@ PM_TOKEN_METHOD_NAME
a method name
Definition ast.h:379
@ PM_TOKEN_KEYWORD_CASE
case
Definition ast.h:229
@ PM_TOKEN_WORDS_SEP
a separator between words in a list
Definition ast.h:517
@ PM_TOKEN_FLOAT_RATIONAL
a floating pointer number with a rational suffix
Definition ast.h:166
@ PM_TOKEN_LESS_LESS_EQUAL
<<=
Definition ast.h:376
@ PM_TOKEN_EMBDOC_LINE
a line inside of embedded documentation
Definition ast.h:133
@ PM_TOKEN_KEYWORD_SUPER
super
Definition ast.h:310
@ PM_TOKEN_KEYWORD_DO
do
Definition ast.h:241
@ PM_TOKEN_KEYWORD_REDO
redo
Definition ast.h:292
@ PM_TOKEN_EQUAL_TILDE
=~
Definition ast.h:157
@ PM_TOKEN_EMBEXPR_END
}
Definition ast.h:139
@ PM_TOKEN_KEYWORD_END_UPCASE
END.
Definition ast.h:256
@ PM_TOKEN_KEYWORD___LINE__
LINE
Definition ast.h:352
@ PM_TOKEN_STRING_END
the end of a string
Definition ast.h:481
@ PM_TOKEN_STRING_CONTENT
the contents of a string
Definition ast.h:478
@ PM_TOKEN_BRACE_LEFT
{
Definition ast.h:70
@ PM_TOKEN_COLON_COLON
::
Definition ast.h:106
@ PM_TOKEN_GREATER_GREATER
Definition ast.h:181
@ PM_TOKEN_PERCENT_LOWER_X
x
Definition ast.h:418
@ PM_TOKEN_KEYWORD_SELF
self
Definition ast.h:307
@ PM_TOKEN_PERCENT_LOWER_I
i
Definition ast.h:412
@ PM_TOKEN_KEYWORD_ALIAS
alias
Definition ast.h:214
@ PM_TOKEN_GLOBAL_VARIABLE
a global variable
Definition ast.h:172
@ PM_TOKEN_KEYWORD_IF_MODIFIER
if in the modifier form
Definition ast.h:271
@ PM_TOKEN_SLASH
/
Definition ast.h:457
@ PM_TOKEN_KEYWORD_RETRY
retry
Definition ast.h:301
@ PM_TOKEN_COLON
:
Definition ast.h:103
@ PM_TOKEN_KEYWORD_UNDEF
undef
Definition ast.h:319
@ PM_TOKEN_BRACKET_RIGHT
]
Definition ast.h:88
@ PM_TOKEN_KEYWORD_FOR
for
Definition ast.h:265
@ PM_TOKEN_KEYWORD_THEN
then
Definition ast.h:313
@ PM_TOKEN_QUESTION_MARK
?
Definition ast.h:445
@ PM_TOKEN___END__
marker for the point in the file at which the parser should stop
Definition ast.h:520
@ PM_TOKEN_KEYWORD_WHILE
while
Definition ast.h:337
@ PM_TOKEN_EQUAL
=
Definition ast.h:145
@ PM_TOKEN_KEYWORD_DEF
def
Definition ast.h:235
@ PM_TOKEN_UDOT_DOT_DOT
unary ... operator
Definition ast.h:499
@ PM_TOKEN_STAR
Definition ast.h:463
@ PM_TOKEN_KEYWORD_WHILE_MODIFIER
while in the modifier form
Definition ast.h:340
@ PM_TOKEN_KEYWORD_TRUE
true
Definition ast.h:316
@ PM_TOKEN_BRACE_RIGHT
}
Definition ast.h:73
@ PM_TOKEN_SEMICOLON
;
Definition ast.h:454
@ PM_TOKEN_REGEXP_BEGIN
the beginning of a regular expression
Definition ast.h:448
@ PM_TOKEN_CARET
^
Definition ast.h:91
@ PM_TOKEN_PERCENT_UPPER_I
I
Definition ast.h:421
@ PM_TOKEN_KEYWORD_DO_LOOP
do keyword for a predicate in a while, until, or for loop
Definition ast.h:244
@ PM_TOKEN_KEYWORD_MODULE
module
Definition ast.h:277
@ PM_TOKEN_PLUS
Definition ast.h:439
@ PM_TOKEN_KEYWORD_NEXT
next
Definition ast.h:280
@ PM_TOKEN_BACKTICK
`
Definition ast.h:55
@ PM_TOKEN_INTEGER_IMAGINARY
an integer with an imaginary suffix
Definition ast.h:205
@ PM_TOKEN_LABEL
a label
Definition ast.h:355
@ PM_TOKEN_STAR_STAR_EQUAL
**=
Definition ast.h:472
@ PM_TOKEN_CHARACTER_LITERAL
a character literal
Definition ast.h:97
@ PM_TOKEN_AMPERSAND_AMPERSAND
&&
Definition ast.h:43
@ PM_TOKEN_UMINUS
-@
Definition ast.h:502
@ PM_TOKEN_LESS_LESS
<<
Definition ast.h:373
@ PM_TOKEN_GREATER_EQUAL
>=
Definition ast.h:178
@ PM_TOKEN_COMMENT
a comment
Definition ast.h:112
@ PM_TOKEN_CARET_EQUAL
^=
Definition ast.h:94
@ PM_TOKEN_KEYWORD_ELSIF
elsif
Definition ast.h:250
@ PM_TOKEN_STRING_BEGIN
the beginning of a string
Definition ast.h:475
@ PM_TOKEN_LESS_EQUAL
<=
Definition ast.h:367
#define PRISM_EXPORTED_FUNCTION
By default, we compile with -fvisibility=hidden.
Definition defines.h:50
PRISM_EXPORTED_FUNCTION const char * pm_token_type_name(pm_token_type_t token_type)
Returns a string representation of the given token type.
Definition token_type.c:17
const char * pm_token_type_human(pm_token_type_t token_type)
Returns the human name of the given token type.
Definition token_type.c:362