1 static int my_isblank(char c)
3 return c == '\t' || c == ' ' || c == '\r' || c == '\n';
6 static int my_issep(char c)
8 return c == '(' || c == ')' || c == '[' || c == ']'
9 || c == '<' || c == '>' || c == ',' || c == ';'
10 || c == '+' || c == '-' || c == '*' || c == '/';
13 static char *sskip(char *s)
15 while (my_isblank(*s))
21 static char *next_word(char *w, size_t wsize, char *s)
27 for (i = 0; i < wsize - 1; i++) {
28 if (s[i] == 0 || my_isblank(s[i]))
34 if (s[i] != 0 && !my_isblank(s[i]))
35 printf("warning: '%s' truncated\n", w);
40 static inline char *next_idt(char *w, size_t wsize, char *s)
46 for (i = 0; i < wsize - 1; i++) {
47 if (s[i] == 0 || my_isblank(s[i]) || my_issep(s[i]))
53 if (s[i] != 0 && !my_isblank(s[i]) && !my_issep(s[i]))
54 printf("warning: '%s' truncated\n", w);