79 |
M4_SYNTAX_ALPHA Reads macro name |
M4_SYNTAX_ALPHA Reads macro name |
80 |
M4_SYNTAX_LQUOTE Reads all until balanced M4_SYNTAX_RQUOTE |
M4_SYNTAX_LQUOTE Reads all until balanced M4_SYNTAX_RQUOTE |
81 |
|
|
82 |
M4_SYNTAX_OTHER and M4_SYNTAX_NUM |
M4_SYNTAX_OTHER } Reads all M4_SYNTAX_OTHER, M4_SYNTAX_NUM |
83 |
Reads all M4_SYNTAX_OTHER and M4_SYNTAX_NUM |
M4_SYNTAX_NUM } and M4_SYNTAX_DOLLAR |
84 |
|
M4_SYNTAX_DOLLAR } |
85 |
|
|
86 |
M4_SYNTAX_SPACE Reads all M4_SYNTAX_SPACE |
M4_SYNTAX_SPACE Reads all M4_SYNTAX_SPACE |
87 |
M4_SYNTAX_ACTIVE Returns a single char as a word |
M4_SYNTAX_ACTIVE Returns a single char as a word |
88 |
the rest Returned as a single char |
the rest Returned as a single char |
89 |
|
|
90 |
M4_SYNTAX_DOLLAR is not currently used. The character $ is treated as a |
The $ is not really a part of m4's input syntax in the sense that a |
91 |
M4_SYNTAX_OTHER. It could be done, but it will slow next_token () down |
string is parsed equally whether there is a $ or not. The character |
92 |
a bit. The $ is not really a part of m4's input syntax in the sense |
$ is used by convention in user macros. */ |
|
that a string is parsed equally whether there is a $ or not. The |
|
|
character $ is used by convention in user macros. */ |
|
93 |
|
|
94 |
static boolean check_is_macro_escaped (m4_syntax_table *syntax); |
static boolean check_is_macro_escaped (m4_syntax_table *syntax); |
95 |
static int add_syntax_attribute (m4_syntax_table *syntax, int ch, int code); |
static int add_syntax_attribute (m4_syntax_table *syntax, int ch, int code); |
109 |
add_syntax_attribute (syntax, ch, M4_SYNTAX_CLOSE); |
add_syntax_attribute (syntax, ch, M4_SYNTAX_CLOSE); |
110 |
else if (ch == ',') |
else if (ch == ',') |
111 |
add_syntax_attribute (syntax, ch, M4_SYNTAX_COMMA); |
add_syntax_attribute (syntax, ch, M4_SYNTAX_COMMA); |
112 |
|
else if (ch == '$') |
113 |
|
add_syntax_attribute (syntax, ch, M4_SYNTAX_DOLLAR); |
114 |
else if (ch == '=') |
else if (ch == '=') |
115 |
add_syntax_attribute (syntax, ch, M4_SYNTAX_ASSIGN); |
add_syntax_attribute (syntax, ch, M4_SYNTAX_ASSIGN); |
116 |
else if (isspace (ch)) |
else if (isspace (ch)) |
176 |
case ',': code = M4_SYNTAX_COMMA; break; |
case ',': code = M4_SYNTAX_COMMA; break; |
177 |
case '=': code = M4_SYNTAX_ASSIGN; break; |
case '=': code = M4_SYNTAX_ASSIGN; break; |
178 |
case '@': code = M4_SYNTAX_ESCAPE; break; |
case '@': code = M4_SYNTAX_ESCAPE; break; |
|
#if 0 /* not yet used */ |
|
179 |
case '$': code = M4_SYNTAX_DOLLAR; break; |
case '$': code = M4_SYNTAX_DOLLAR; break; |
|
#endif |
|
180 |
|
|
181 |
case 'L': case 'l': code = M4_SYNTAX_LQUOTE; break; |
case 'L': case 'l': code = M4_SYNTAX_LQUOTE; break; |
182 |
case 'R': case 'r': code = M4_SYNTAX_RQUOTE; break; |
case 'R': case 'r': code = M4_SYNTAX_RQUOTE; break; |