| 990 | } |
| 991 | |
| 992 | static char *parse_id(char *p, char **save) |
| 993 | { |
| 994 | char *b; |
| 995 | |
| 996 | while (isspace(*p)) if (*p++ == '\n') rescan_lineno++; |
| 997 | if (!isalpha(*p) && *p != '_') return 0; |
| 998 | b = p; |
| 999 | while (isalnum(*p) || *p == '_' || *p == '$') p++; |
| 1000 | if (save) { |
| 1001 | *save = cache_tag(b, p-b); } |
| 1002 | return p; |
| 1003 | } |
| 1004 | |
| 1005 | static char *parse_int(char *p, int *save) |
| 1006 | { |
no test coverage detected