summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-06-09 20:18:09 +0200
committerkdx <kikoodx@paranoici.org>2023-06-09 20:18:09 +0200
commitcfc5d381a00fdbd812396c3c4e67616cfa669223 (patch)
treea7f79dac8926103b8abff0d4ed0991b26122f66f
parenta82211bc77beb8ee7469f08a568481157ea56f6c (diff)
downloadgolem-cfc5d381a00fdbd812396c3c4e67616cfa669223.tar.gz
char literal
-rw-r--r--src/main.c7
-rwxr-xr-xtesting.sh5
2 files changed, 10 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index e224d22..8c75915 100644
--- a/src/main.c
+++ b/src/main.c
@@ -109,6 +109,13 @@ tokenize(char *p)
continue;
}
+ if (*p == '\'' && p[1] != '\0' && p[2] == '\'') {
+ cur = cur->next = new_token(TOK_NUM, p, p + 3);
+ cur->val = (unsigned char)*p;
+ p += 3;
+ continue;
+ }
+
const int punct = is_punct(p);
if (punct) {
cur = cur->next = new_token(TOK_PUNCT, p, p + punct);
diff --git a/testing.sh b/testing.sh
index 1d636b1..7abae1d 100755
--- a/testing.sh
+++ b/testing.sh
@@ -9,6 +9,7 @@ function test() {
}
tup || exit 1
-test '5 + 2;'
-test '6 + 3;'
+test "5 + 2;"
+test "6 + 3;"
+test "'a' - 'b';"
rm -f build/tmp.*