summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lisc/parse.c2
-rw-r--r--minic/minic.y4
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++)