4 * it's a general string mixed with varous kinds of quote or pair-chars.
5 * eg: "", ``, $(), those pair-chars are normally used in shell-script.
9 int on_dollar_proc (int evt, int token, register const char *str, register unsigned int len, SRC_FILE_DESC *psrcfile);
10 int on_dquote (int evt, int token, register const char *str, register unsigned int len, SRC_FILE_DESC *psrcfile);
11 int on_quote (int evt, int token, register const char *str, register unsigned int len, SRC_FILE_DESC *psrcfile);
12 int on_bquote (int evt, int token, register const char *str, register unsigned int len, SRC_FILE_DESC *psrcfile);
13 int on_bracket1 (int evt, int token, register const char *str, register unsigned int len, SRC_FILE_DESC *psrcfile);
14 int on_bracket2 (int evt, int token, register const char *str, register unsigned int len, SRC_FILE_DESC *psrcfile);
15 int on_bracket3 (int evt, int token, register const char *str, register unsigned int len, SRC_FILE_DESC *psrcfile);
20 const struct token_id str_pfx_char_array[] = {
21 { .chars={"$"}, "T_DOLLAR", STATE_CODE, T_DOLLAR, TF_PFX, &on_dollar_proc },
23 { {NULL}, NULL, 0, 0, 0, NULL },
25 // { .chars={"@"}, "T_AT", STATE_CODE, T_AT, TF_PFX, &on_at_proc },
26 // { .chars={"!"}, "T_EXCLAM", STATE_CODE, T_EXCLAM, TF_PFX, &on_exclamation_proc },
29 * eg: (), it is used in sh-script in those kinds.
30 * @ $(), sub-script. it seperate $ and (). $ is a pfx char, it set 'dollar' flags,
31 * @ (), sub-script. if '(' is detected, it check 'dollar' flags to entering $() sub-script state.
32 * if no 'dollar' flags, it checks if it is first token in curr statement.
33 * @ func(), function parameter.
36 const struct token_id str_paired_char_array[] = {
37 { {"``"}, "T_BACK_QUOTE", STATE_CODE, T_BACK_QUOTE, TF_OPCHAR, on_bquote },
39 { {NULL}, NULL, 0, 0, 0, NULL },