aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Carbonneaux <[email protected]>2015-11-18 08:56:02 -0500
committerQuentin Carbonneaux <[email protected]>2015-11-18 08:56:02 -0500
commita968dc687d8a4fa3303a750d3ef1eea9369b2fdd (patch)
tree04a8bed82d80787ae609dd7f50de5009101ea1ed
parent2ea517ed26e3f1adf84268648cd028efd6825e52 (diff)
support _ in identifiers
-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++)