92 |
static eval_error simple_term M4_PARAMS((eval_token, number *)); |
static eval_error simple_term M4_PARAMS((eval_token, number *)); |
93 |
static void numb_pow M4_PARAMS((number *x, const number *y)); |
static void numb_pow M4_PARAMS((number *x, const number *y)); |
94 |
|
|
95 |
/*--------------------. |
|
96 |
| Lexical functions. | |
|
97 |
`--------------------*/ |
/* --- LEXICAL FUNCTIONS --- */ |
98 |
|
|
99 |
/* Pointer to next character of input text. */ |
/* Pointer to next character of input text. */ |
100 |
static const unsigned char *eval_text; |
static const unsigned char *eval_text; |
288 |
} |
} |
289 |
} |
} |
290 |
|
|
291 |
/*---------------------------------------. |
/* Main entry point, called from "eval". */ |
|
| Main entry point, called from "eval". | |
|
|
`---------------------------------------*/ |
|
|
|
|
292 |
boolean |
boolean |
293 |
m4_evaluate (struct obstack *obs, const char *expr, const int radix, int min) |
m4_evaluate (struct obstack *obs, const char *expr, const int radix, int min) |
294 |
{ |
{ |
355 |
return (boolean) (err != NO_ERROR); |
return (boolean) (err != NO_ERROR); |
356 |
} |
} |
357 |
|
|
358 |
/*---------------------------. |
/* Recursive descent parser. */ |
|
| Recursive descent parser. | |
|
|
`---------------------------*/ |
|
|
|
|
359 |
static eval_error |
static eval_error |
360 |
logical_or_term (eval_token et, number *v1) |
logical_or_term (eval_token et, number *v1) |
361 |
{ |
{ |