20 |
#if !lexer_h |
#if !lexer_h |
21 |
#define lexer_h 1 |
#define lexer_h 1 |
22 |
|
|
23 |
|
#include "bool.h" |
24 |
|
|
25 |
/* Returns nonzero if character CH may be the first character in an |
/* Returns nonzero if character CH may be the first character in an |
26 |
identifier. */ |
identifier. */ |
27 |
#define CHAR_IS_ID1(CH) \ |
#define CHAR_IS_ID1(CH) \ |
43 |
enum |
enum |
44 |
{ |
{ |
45 |
T_ID = 256, /* Identifier. */ |
T_ID = 256, /* Identifier. */ |
46 |
T_NUM, /* Number. */ |
T_POS_NUM, /* Positive number. */ |
47 |
|
T_NEG_NUM, /* Negative number. */ |
48 |
T_STRING, /* Quoted string. */ |
T_STRING, /* Quoted string. */ |
49 |
T_STOP, /* End of input. */ |
T_STOP, /* End of input. */ |
50 |
|
|
89 |
int lex_end_of_command (void); |
int lex_end_of_command (void); |
90 |
|
|
91 |
/* Token testing functions. */ |
/* Token testing functions. */ |
92 |
int lex_integer_p (void); |
bool lex_is_number (void); |
93 |
|
double lex_number (void); |
94 |
|
bool lex_is_integer (void); |
95 |
long lex_integer (void); |
long lex_integer (void); |
|
int lex_double_p (void); |
|
|
double lex_double (void); |
|
96 |
|
|
97 |
/* Token matching functions. */ |
/* Token matching functions. */ |
98 |
int lex_match (int); |
int lex_match (int); |