aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMustafa Quraish <[email protected]>2022-02-05 05:51:17 -0500
committerMustafa Quraish <[email protected]>2022-02-05 08:56:15 -0500
commitf44bf73b4b80afe3e8d6da85ddec91734a3a60f0 (patch)
tree591819add4a379568f585da2c99993cf23a42f11
parentAllow empty return statements for void functions (diff)
downloadcup-f44bf73b4b80afe3e8d6da85ddec91734a3a60f0.tar.xz
cup-f44bf73b4b80afe3e8d6da85ddec91734a3a60f0.zip
Some very minor fixes (look at message)
(1) Add support for escaped single quotes (2) Fix `putu_buffer` in `std/common.cup`
-rw-r--r--src/lexer.c1
-rw-r--r--std/common.cup3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/lexer.c b/src/lexer.c
index a5b1a42..0d34eea 100644
--- a/src/lexer.c
+++ b/src/lexer.c
@@ -107,6 +107,7 @@ static char get_escaped(char c) {
case 't': return '\t';
case '\\': return '\\';
case '0': return '\0';
+ case '\'': return '\'';
}
assert(false && "Unknown escape sequence");
}
diff --git a/std/common.cup b/std/common.cup
index b97c43a..abd7e82 100644
--- a/std/common.cup
+++ b/std/common.cup
@@ -157,7 +157,8 @@ fn putu_buffer(n: int, buf: char*): int {
if (i == 0) {
buf[i] = '0';
i = i + 1;
- } else {
+ } else if (i > 1) {
+ buf[i] = 0;
strrev(buf);
}
return i;