diff options
-rw-r--r-- | lisc/parse.c | 2 | ||||
-rw-r--r-- | minic/minic.y | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lisc/parse.c b/lisc/parse.c index 10fc0a3..a5c6040 100644 --- a/lisc/parse.c +++ b/lisc/parse.c @@ -225,7 +225,7 @@ Alpha: c = fgetc(inf); err("identifier too long"); tok[i++] = c; c = fgetc(inf); - } while (isalpha(c) || c == '.' || isdigit(c)); + } while (isalpha(c) || c == '.' || c == '_' || isdigit(c)); tok[i] = 0; ungetc(c, inf); if (t != TXXX) { diff --git a/minic/minic.y b/minic/minic.y index b335f68..0abef05 100644 --- a/minic/minic.y +++ b/minic/minic.y @@ -6,7 +6,7 @@ #include <string.h> enum { - NString = 16, + NString = 32, NGlo = 256, NVar = 512, NStr = 256, @@ -874,7 +874,7 @@ yylex() die("ident too long"); *p++ = c; c = getchar(); - } while (isalpha(c)); + } while (isalpha(c) || c == '_'); *p = 0; ungetc(c, stdin); for (i=0; kwds[i].s; i++) |