use tokenlist for lexer parser.
[build-config.git] / src / config / lxrgmr-code / tokenlist / token.h
blob9c8a385aba665388ba00c9a18d10f91dc9369712
1 #ifndef __TOKEN_H
2 #define __TOKEN_H
5 #define TOKEN_DECLARE(token, str, name) {token, str, 0, name, 0, NULL, }
6 #define TOKEN_PROC_DECLARE(str, name) {NULL, str, 0, name, 0, &name##_PROC, }
8 //#define TOKEN_DECLARE(token, str, name) {NULL, str, 0, name, 0, 0, }
9 //#define TOKEN_PROC_DECLARE(str, name) {NULL, str, 0, name, 0, &name##_PROC, }
11 #if 1
14 * @ macro expansion
15 * @ envar expansion
16 * @ subst-script expansion
20 * @ subst in cmdline, like sub-func-ivk in param, append subst-info on param array elem.
21 * T_C89_CMNT, T_EXT_CMNT, TXT with some tokens
22 * T_SUBST_WORD, T_SUBST_STR, fmt txt with substitusion token
23 * T_WORD_BACK_QUOTE(`cmd`), T_ENVAR($ENVAR), T_SUBSTSCRIPT($()), T_ARITHEXPR($(()), $[]), are substitusion token
27 @ expanssion used for envar
28 @ substitution is a txt replacing opr
29 @ glob, substitution of * and ? in file path
31 @ three kinds of thing trig substition in string or word
32 T_SUBST_ENVAR,
33 T_SUBST_SCRIPT,
34 T_SUBST_ARITHEXPR,
36 @ in code state, in/out pipe subscript also trig substition.
37 T_SUBST_IN_PIPE,
38 T_SUBST_OUT_PIPE,
40 @ subst string and word are the string format.
41 T_SUBST_STR, // STRING contans subst-things
42 T_SUBST_WORD, // WORD contans subst-things
44 @ subst token and T_SUBST_STR, combine to T_SUBST_STR
47 enum yytokentype
49 // T_WORD = 259,
50 // T_WORD_QUOTE = 260,
51 T_BEGIN_TOKEN,
53 T_THISDOC,
54 T_ASSIGN_VAL,
56 T_BLANK,
57 T_EOL,
59 T_HELPTEXT,
61 // T_HELPTEXT = 258,
65 * pfx-token
67 T_DOLLAR, // "$",
69 /* OPTIONS */
70 // { .chars={"-"}, "T_SUB", STATE_CODE, T_SUB, TF_PFX, &on_c99_cmnt_proc },
71 T_OPT, // "-",
72 T_OPT_GT, // "-gt",
73 T_OPT_GE, // "-ge",
74 T_OPT_LT, // "-lt",
75 T_OPT_LE, // "-le",
76 T_OPT_EQ, // "-eq",
77 T_OPT_V, // "v",
78 T_OPT_N, // "-n",
79 T_OPT_Z, // "-z",
81 T_OPT_R, // "-r",
82 T_OPT_W, // "-w",
83 T_OPT_X, // "-x",
84 T_OPT_G, // "-g",
85 T_OPT_U, // "-u",
87 T_OPT_E, // "-e",
88 T_OPT_A, // "-a",
89 T_OPT_F, // "-f",
90 T_OPT_S, // "-s",
91 T_OPT_D, // "-d",
92 T_OPT_B, // "-b",
93 T_OPT_C, // "-c",
94 T_OPT_P, // "-p",
95 T_OPT_UO, // "-O", owner
96 T_OPT_UG, // "-G", GID
98 T_OPT_NT, // "-nt",
99 T_OPT_OT, // "-ot",
100 T_OPT_EF, // "-ef",
102 T_OPT_H, // "-h", link
103 T_OPT_UL, // "-L", link
104 T_OPT_US, // "-S", socket
105 T_OPT_T, // "-t", term dev
106 T_OPT_K, // "-k", stick
107 T_OPT_UN, // "-N", modified unitl read
110 T_EXCLAM, // "!",
112 /* cmnt */
113 T_AT, // "@",
114 T_BACKSLASH, // "\\",
116 // TOKEN_DECLARE("::", T_DCOLON, ),
117 // TOKEN_DECLARE(":", T_COLON, ),
119 T_C99_CMNT_HDR, // "//"}, ),
120 T_SH_CMNT_HDR, // "#"}, ),
121 // TOKEN_DECLARE("#"}, T_SHARP, ),
123 T_C99_CMNT, // "// XX"}, ),
124 T_SH_CMNT, // "# XX
128 * paired-token
130 // { {"/****/"}, "T_EXT_CMNT_HDR", STATE_TEXT_CMNT, T_EXT_CMNT_HDR, TF_OPCHAR, on_ext_cmnt },
131 // { {"/**/"}, "T_C89_CMNT_HDR", STATE_TEXT_CMNT, T_C89_CMNT_HDR, TF_OPCHAR, on_c89_cmnt },
132 T_EXT_CMNT_HDR, // "/**",
133 T_EXT_CMNT_TAIL, // "**/",
134 T_C89_CMNT_HDR, // "/*",
135 T_C89_CMNT_TAIL, // "*/",
137 T_C89_CMNT, // "",
138 T_EXT_CMNT, // "",
140 // TOKEN_DECLARE("<", "T_LT", 0, T_LT, TF_PFX, &on_dollar_proc },
141 // TOKEN_DECLARE(">", "T_GT", 0, T_GT, TF_PFX, &on_dollar_proc },
143 T_SUBST_IN_PIPE,
144 T_SUBST_OUT_PIPE,
146 // T_DOLLAR, // "$",
147 T_ENVAR_BEGIN, // "${"
148 T_ENVAR_END, // "}"
149 T_SCRIPT_BEGIN, // "$("
150 T_SCRIPT_END, // ")"
151 T_ARITHEXPR_BEGIN, // "$(("
152 T_ARITHEXPR_END, // "))"
153 T_SUBST_ENVAR, // "${VAR}"
154 T_SUBST_SCRIPT, // "$(SCR)"
155 T_SUBST_ARITHEXPR, // "$((SCR))"
157 T_SUBSCRIPT, // "(SCR)"
160 // { {"\"\""}, "T_DQUOTE", STATE_CODE, ),
161 // { {"''"}, "T_QUOTE", STATE_CODE, ),
162 // { {"``"}, T_BACK_QUOTE, ),
164 T_DQUOTE, // "\"",
165 T_QUOTE, // "'",
166 T_BACK_QUOTE, // "`",
168 /* word & quoted-str & subst */
169 T_WORD_DQUOTE,
170 T_WORD_BACK_QUOTE,
171 T_FUNC_CODEBLOCK,
173 T_WORD_QUOTE, // "'",
174 T_WORD, // "'",
175 T_WORD_QUOTE_FMT, // "'",
176 T_WORD_FMT, // "'",
177 T_SUBST_STR, // STRING contans subst-things
178 T_SUBST_WORD, // WORD contans subst-things
180 /* CODE */
181 // { {"()"}, "T_LBRACKET1", STATE_CODE, T_LBRACKET1, TF_OPCHAR, on_bracket1 },
182 T_LBRACKET1, // "(",
183 T_RBRACKET1, // ")",
185 // { {"[]"}, "T_LBRACKET2", STATE_CODE, T_LBRACKET2, TF_OPCHAR, NULL },
186 T_LBRACKET2, // "[",
187 T_RBRACKET2, // "]",
189 // { {"{}"}, "T_LBRACKET3", STATE_CODE, T_LBRACKET3, TF_OPCHAR, on_bracket3 },
190 T_LBRACKET3, // "{",
191 T_RBRACKET3, // "}",
193 // { {"(())"}, "T_DLBRACKET1", STATE_EXPR, T_DLBRACKET1, TF_OPCHAR, NULL },
194 T_DLBRACKET1, // "((",
195 T_DRBRACKET1, // "))",
197 /* cmnt */
198 // { {"<>"}, "T_CMNT_LTAG", STATE_CODE, T_CMNT_LTAG, TF_OPCHAR, on_ext_cmnt },
199 T_CMNT_LTAG, // "<",
200 T_CMNT_RTAG, // ">",
202 /* cmdline */
203 // { .chars={"[[]]"}, T_DLBRACKET2, TF_OPCHAR, NULL },
204 T_DLBRACKET2, // "[[",
205 T_DRBRACKET2, // "]]",
209 * opr-token
211 /* expr */
212 T_ELIPSE, // "...",
214 T_POINT, // ".",
215 T_DCOLON, // "::",
216 T_POINTER, // "->",
217 T_REF_PTR, // "=>",
219 T_COLON, // ":",
220 T_QUESTION, // "?",
222 T_EQUAL, // "=",
223 T_ADDEQUAL, // "+=",
224 T_SUBEQUAL, // "-=",
225 T_MULEQUAL, // "*=",
226 T_DIVEQUAL, // "/=",
227 T_MODEQUAL, // "%=",
228 T_POWEQUAL, // "^^=",
230 T_ANDEQUAL, // "&=",
231 T_OREQUAL, // "|=",
232 T_XOREQUAL, // "^=",
233 T_LSHIFTEQUAL, // "<<=",
234 T_RSHIFTEQUAL, // ">>=",
236 T_DEQUAL, // "==",
237 T_NOTEQUAL, // "!=",
238 T_GE, // ">=",
239 T_LE, // "<=",
240 T_GT, // ">",
241 T_LT, // "<",
243 T_ADD, // "+",
244 T_SUB, // "-",
245 T_MUL, // "*",
246 T_DIV, // "/",
247 T_MOD, // "%",
248 T_POW, // "^^",
250 T_NOT, // "!",
251 T_DAND, // "&&",
252 T_DOR, // "||",
254 T_AND, // "&",
255 T_OR, // "|",
256 T_REVERSE, // "~",
257 T_XOR, // "^",
258 T_RSHIFT, // ">>",
259 T_LSHIFT, // "<<",
261 T_COMMA, // ",",
262 T_SEMI, // ";",
264 /* cmdline */
265 // ;, <, >, &&, ||,
266 // $, @, =, +=,
267 T_BACKGROUND, // "&",
268 T_PIPE, // "|",
270 T_DSEMI, // ";;",
272 T_DLT, // "<<",
273 T_DGT, // ">>",
274 T_TLT, // "<<<",
275 T_LTGT, // "<>",
276 T_GT_AND, // ">&",
277 T_LT_AND, // "<&",
278 T_LTGT_AND, // "<>&",
279 T_GT_AND_BAR, // ">&-",
280 T_LT_AND_BAR, // "<&-",
281 T_LTGT_AND_BAR, // "<>&-",
284 /* envar */
285 T_ENVREF, // "!",
286 // TOKEN_DECLARE("#", T_SHARP, ),
288 // { .chars={"/"}, "T_SPLASH", STATE_CODE, ),
289 // { .chars={"%"}, "T_PERCENT", STATE_CODE, T_PERCENT, TF_OPCHAR, NULL },
290 // { .chars={"*"}, "T_STAR", STATE_CODE, T_STAR, TF_OPCHAR, NULL },
291 // { .chars={":"}, "T_COLON", STATE_CODE, T_COLON, TF_OPCHAR, NULL },
292 T_SPLASH, // "/",
293 T_PERCENT, // "%",
294 T_STAR, // "*",
295 T_SHARP, // "#",
296 T_DSPLASH, // "//",
297 T_DSHARP, // "##",
298 T_DPERCENT, // "%%",
300 T_DCOMMA, // ",,",
301 T_DCARET, // "^^",
303 // { .chars={"-"}, "T_SUB", STATE_CODE, T_SUB, TF_OPCHAR, NULL },
304 // { .chars={"="}, "T_EQUAL", STATE_CODE, T_EQUAL, TF_OPCHAR, NULL },
305 // { .chars={"+"}, "T_ADD", STATE_CODE, T_ADD, TF_OPCHAR, NULL },
306 // { .chars={"?"}, "T_QUESTION", STATE_CODE, T_QUESTION, TF_OPCHAR, NULL },
307 T_COLONSUB, // ":-",
308 T_COLONEQUAL, // ":=",
309 T_COLONADD, // ":+",
310 T_COLONQUESTION, // ":?",
312 T_SIDECUT, // "#%",
313 T_STR_QUOTE, // "##%%",
314 T_SPLIT, // "|",
315 T_STRIP, // "<>",
316 T_SPLIT_STRIP, // "<|>",
317 T_WILDCAST, // "~",
321 * rsv-word
323 /* clang */
324 T_NULL, // "NULL",
325 T_TRUE, // "true",
326 T_FALSE, // "false",
328 T_IF, // "if",
329 T_ELSE, // "else",
330 T_FOR, // "for",
331 T_DO, // "do",
332 T_WHILE, // "while",
333 T_UNTIL, // "until",
334 T_SWITCH, // "switch",
335 T_CASE, // "case",
336 T_CONTINUE, // "continue",
337 T_BREAK, // "break",
338 T_DEFAULT, // "default",
339 T_RETURN, // "return",
341 T_SIZEOF, // "sizeof",
342 T_TYPEOF, // "typeof",
344 T_AUTO, // "auto",
345 T_REGISTER, // "register",
346 T_CONST, // "const",
347 T_STATIC, // "static",
348 T_VOLATILE, // "volatile",
349 T_EXTERN, // "extern",
351 T_TYPEDEF, // "typedef",
352 T_STRUCT, // "struct",
353 T_UNION, // "union",
354 T_ENUM, // "enum",
357 * sh-script
359 T_FUNC, // "function",
360 T_THEN, // "then",
361 T_FI, // "fi",
362 T_ELIF, // "elif",
363 T_ESAC, // "esac",
364 T_DONE, // "done",
365 T_IN, // "in",
366 T_SELECT, // "select",
369 * extension
371 T_PACKET, // "packet",
373 T_FOREACH, // "foreach",
374 T_JUDGE, // "judge",
375 T_JUDGEMENT, // "judgement",
376 T_CONDITION, // "condition",
377 T_COND, // "cond",
378 T_CONDEF, // "condef",
379 T_RES, // "res",
380 T_REQUEST, // "request",
381 T_FAILED, // "failed",
383 // { "try", "T_TRY", STATE_CODE, T_TRY, ),
384 // { "throw", "T_THROW", STATE_CODE, T_THROW, ),
385 T_RUN, // "run",
386 T_TRIG, // "trig",
387 T_EXCEPTION, // "exception",
389 T_API, // "api",
390 T_PUBLIC, // "public",
391 T_PRIVATE, // "private",
392 T_PROPERTY, // "property",
393 T_RTF, // "rtf",
394 T_OVERIDE, // "overide",
395 T_WEAK, // "weak",
396 T_ALIAS, // "alias",
397 T_CORT, // "cort",
398 T_INIT, // "init",
400 T_THIS, // "this",
401 T_THUS, // "thus",
403 T_GLOBAL, // "global",
404 T_LOCAL, // "local",
405 T_SYSTEM, // "system",
407 // TOKEN_DECLARE("condition", T_DEFAULT, ),
409 T_NUMOF, // "numof",
412 /* cmnt tag */
413 T_TAG_VAR, // "var",
414 T_TAG_FILE, // "file",
415 T_TAG_FUNC, // "func",
416 T_TAG_BRIEF, // "brief",
417 T_TAG_PARAM, // "param",
418 T_TAG_RETURN, // "return",
419 T_TAG_RETVAL, // "retval",
420 T_TAG_NOTE, // "note",
421 T_TAG_ERROR, // "error",
422 T_TAG_TAG, // "tag",
423 T_TAG_SECTION, // "section",
425 /* MACRO */
426 T_MINCLUDE, // "include",
427 T_MIFNDEF, // "ifndef",
428 T_MDEFINE, // "define",
429 T_MPRAGMA, // "pragma",
430 T_MIFDEF, // "ifdef",
431 T_MENDIF, // "endif",
432 T_MELSE, // "else",
433 T_MLINK, // "link",
434 T_MIF, // "if",
439 * T_SKIP is used for state switching
440 * or other token-combination.
442 T_SKIP = 330,
443 T_TAIL_SUB = 350,
446 * tokens below defined for extension.
448 T_CMNT_STR = T_TAIL_SUB + 1,
449 // [[:alnum:]_] string, started with [[:alpha:]_]
450 T_SYMBOL,
451 T_HEX_WORD,
452 T_DIGIT_WORD,
453 T_OCT_WORD,
454 T_BIN_WORD,
455 T_FLOAT_WORD,
458 * T_STR_LITERAL: "pure c-style string without word combination"
459 * T_WORD: SH_WORD"string mix with word"ANOTHER_WORD
461 T_STR_LITERAL,
464 #endif
470 #if 0
472 /* Token type. */
473 #ifndef YYTOKENTYPE
474 # define YYTOKENTYPE
475 enum yytokentype
477 T_HELPTEXT = 258,
478 T_WORD = 259,
479 T_WORD_QUOTE = 260,
480 T_ALLNOCONFIG_Y = 261,
481 T_BOOL = 262,
482 T_CHOICE = 263,
483 T_CLOSE_PAREN = 264,
484 T_COLON_EQUAL = 265,
485 T_COMMENT = 266,
486 T_CONFIG = 267,
487 T_DEFAULT = 268,
488 T_DEFCONFIG_LIST = 269,
489 T_DEF_BOOL = 270,
490 T_DEF_TRISTATE = 271,
491 T_DEPENDS = 272,
492 T_ENDCHOICE = 273,
493 T_ENDIF = 274,
494 T_ENDMENU = 275,
495 T_HELP = 276,
496 T_HEX = 277,
497 T_IF = 278,
498 T_IMPLY = 279,
499 T_INT = 280,
500 T_MAINMENU = 281,
501 T_MENU = 282,
502 T_MENUCONFIG = 283,
503 T_MODULES = 284,
504 T_ON = 285,
505 T_OPEN_PAREN = 286,
506 T_OPTION = 287,
507 T_OPTIONAL = 288,
508 T_PLUS_EQUAL = 289,
509 T_PROMPT = 290,
510 T_RANGE = 291,
511 T_SELECT = 292,
512 T_SOURCE = 293,
513 T_STRING = 294,
514 T_TRISTATE = 295,
515 T_VISIBLE = 296,
516 T_EOL = 297,
517 T_ASSIGN_VAL = 298,
518 T_OR = 299,
519 T_AND = 300,
520 T_EQUAL = 301,
521 T_UNEQUAL = 302,
522 T_LESS = 303,
523 T_LESS_EQUAL = 304,
524 T_GREATER = 305,
525 T_GREATER_EQUAL = 306,
526 T_NOT = 307
528 T_TAIL_SUB = 350,
530 * tokens below defined for extension.
532 T_CMNT_STR = T_TAIL_SUB + 1,
533 // [[:alnum:]_] string, started with [[:alpha:]_]
534 T_SYMBOL,
535 T_HEX_WORD,
536 T_DIGIT_WORD,
537 T_OCT_WORD,
538 T_BIN_WORD,
539 T_FLOAT_WORD,
541 * T_STR_LITERAL: "pure c-style string without word combination, // * T_WORD: SH_WORD"string mix with word"ANOTHER_WORD
543 T_STR_LITERAL,
544 T_ENV_VAR,
546 T_MDEFINE,
547 T_MIFDEF,
548 T_MIFNDEF,
549 T_MIF,
550 T_MELSE,
551 T_MENDIF,
552 T_MPRAGMA,
553 T_MLINK,
555 T_DOLLAR,
556 T_AT,
557 T_EXCLAM,
559 #endif
561 #endif
563 #if 0
565 enum yytokentype
567 T_HELPTEXT = 258,
568 T_WORD = 259,
569 T_WORD_QUOTE = 260,
572 T_CHOICE = 263,
573 T_CLOSE_PAREN = 264,
575 T_COMMENT = 266,
576 T_CONFIG = 267,
577 T_DEFAULT = 268,
581 T_DEPENDS = 272,
582 T_ENDCHOICE = 273,
583 T_ENDIF = 274,
584 T_ENDMENU = 275,
585 T_HELP = 276,
587 T_IF = 278,
588 T_IMPLY = 279,
590 T_MAINMENU = 281,
591 T_MENU = 282,
592 T_MENUCONFIG = 283,
594 T_ON = 285,
595 T_OPEN_PAREN = 286,
596 T_OPTION = 287,
597 T_OPTIONAL = 288,
599 T_PROMPT = 290,
600 T_RANGE = 291,
601 T_SELECT = 292,
602 T_SOURCE = 293,
605 T_VISIBLE = 296,
606 T_EOL = 297,
608 T_OR = 299,
609 T_AND = 300,
610 T_EQUAL = 301,
611 T_UNEQUAL = 302,
612 T_LESS = 303,
613 T_LESS_EQUAL = 304,
614 T_GREATER = 305,
615 T_GREATER_EQUAL = 306,
616 T_NOT = 307,
618 T_PLUS_EQUAL = 289,
619 T_COLON_EQUAL = 265,
621 T_BOOL = 262,
622 T_DEFCONFIG_LIST = 269,
623 T_DEF_BOOL = 270,
624 T_DEF_TRISTATE = 271,
625 T_HEX = 277,
626 T_INT = 280,
627 T_MODULES = 284,
628 T_STRING = 294,
629 T_TRISTATE = 295,
630 T_ASSIGN_VAL = 298,
631 T_ALLNOCONFIG_Y = 261,
633 T_TYPE = 308,
636 * T_STATE is used for state switching.
638 T_SKIP = 330,
640 T_TAIL_SUB = 350,
642 * tokens below defined for extension.
644 T_CMNT_STR = T_TAIL_SUB + 1,
645 // [[:alnum:]_] string, started with [[:alpha:]_]
646 T_SYMBOL,
647 T_HEX_WORD,
648 T_DIGIT_WORD,
649 T_OCT_WORD,
650 T_BIN_WORD,
651 T_FLOAT_WORD,
653 * T_STR_LITERAL: "pure c-style string without word combination"
654 * T_WORD: SH_WORD"string mix with word"ANOTHER_WORD
656 T_STR_LITERAL,
657 T_ENV_VAR,
659 T_MDEFINE,
660 T_MIFDEF,
661 T_MIFNDEF,
662 T_MIF,
663 T_MELSE,
664 T_MENDIF,
665 T_MPRAGMA,
666 T_MLINK,
667 T_MINCLUDE,
669 T_DOLLAR,
670 T_AT,
671 T_EXCLAM,
673 T_TYPEDEF,
674 T_ENUM,
675 T_STRUCT,
677 T_ADD,
678 T_SUB,
679 T_MUL,
680 T_DIV,
681 T_MOD,
683 T_COMMA,
684 T_SEMI,
685 T_POINT,
687 T_BACKSLASH,
688 T_SHARP,
689 T_DSHARP,
691 /* comment */
692 T_SH_CMNT_HDR,
693 T_C89_CMNT_HDR,
694 T_C89_CMNT_TAIL,
695 T_C99_CMNT_HDR,
696 T_EXT_CMNT_HDR,
697 T_EXT_CMNT_TAIL,
698 T_SH_CMNT,
699 T_C89_CMNT,
700 T_C99_CMNT,
701 T_EXT_CMNT,
703 /* quote */
704 T_DQUOTE,
705 T_QUOTE,
706 T_BACK_QUOTE,
708 T_FUNC_CODEBLOCK,
710 // T_WORD_QUOTE,
711 T_WORD_DQUOTE,
712 T_WORD_BACK_QUOTE,
714 /* bracket */
715 /* paired token should be putted together. */
716 T_LBRACKET1,
717 T_RBRACKET1,
718 T_LBRACKET2,
719 T_RBRACKET2,
720 T_LBRACKET3,
721 T_RBRACKET3,
722 T_DLBRACKET1,
723 T_DRBRACKET1,
724 T_DLBRACKET2,
725 T_DRBRACKET2,
728 #endif
755 #if 0
757 enum yytokentype
759 T_HELPTEXT = 268,
760 T_WORD = 282,
761 T_WORD_QUOTE = 283,
764 T_CHOICE = 262,
765 T_CLOSE_PAREN = 289,
767 T_COMMENT = 264,
768 T_CONFIG = 265,
769 T_DEFAULT = 275,
773 T_DEPENDS = 271,
774 T_ENDCHOICE = 263,
775 T_ENDIF = 270,
776 T_ENDMENU = 260,
777 T_HELP = 267,
779 T_IF = 269,
780 T_IMPLY = 277,
782 T_MAINMENU = 258,
783 T_MENU = 259,
784 T_MENUCONFIG = 266,
786 T_ON = 281,
787 T_OPEN_PAREN = 290,
788 T_OPTION = 280,
789 T_OPTIONAL = 272,
791 T_PROMPT = 273,
792 T_RANGE = 278,
793 T_SELECT = 276,
794 T_SOURCE = 261,
797 T_VISIBLE = 279,
798 T_EOL = 291,
800 T_OR = 292,
801 T_AND = 293,
802 T_EQUAL = 294,
803 T_UNEQUAL = 284,
804 T_LESS = 285,
805 T_LESS_EQUAL = 286,
806 T_GREATER = 287,
807 T_GREATER_EQUAL = 288,
808 T_NOT = 295,
810 T_TYPE = 274,
812 T_PLUS_EQUAL = 289,
813 T_COLON_EQUAL = 265,
815 T_TAIL_SUB = 400,
817 * tokens below defined for extension.
819 T_CMNT_STR = T_TAIL_SUB + 1,
820 // [[:alnum:]_] string, started with [[:alpha:]_]
821 T_SYMBOL,
822 T_HEX_WORD,
823 T_DIGIT_WORD,
824 T_OCT_WORD,
825 T_BIN_WORD,
826 T_FLOAT_WORD,
828 * T_STR_LITERAL: "pure c-style string without word combination"
829 * T_WORD: SH_WORD"string mix with word"ANOTHER_WORD
831 T_STR_LITERAL,
832 T_ENV_VAR,
835 T_DOLLAR,
836 T_AT,
837 T_EXCLAM,
840 #endif
842 #endif /* __TOKEN_H */