summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kdx@42l.fr>2023-01-20 04:39:13 +0100
committerkdx <kdx@42l.fr>2023-01-20 04:39:13 +0100
commit072f0d4ea7d1da479baea85fadead5f4d640eff2 (patch)
tree03a37e292f0f2088701218cbec91cc0a9e80c05e
parent21f1abef1b8f144fb684d48bbb2078011b4141d7 (diff)
downloadgolem-072f0d4ea7d1da479baea85fadead5f4d640eff2.tar.gz
test: simpler
-rw-r--r--test35
1 files changed, 28 insertions, 7 deletions
diff --git a/test b/test
index 2e7d989..d01e4ff 100644
--- a/test
+++ b/test
@@ -1,26 +1,35 @@
-fn main(argc, argv)
+fn strlen(s);
// typeless language
// (i know, this stupid but me bad)
-fn main(argc, argv)
-{
- const usage_str = "usage: %s <file>\n";
+
+const usage_str = "usage: %s <file>\n";
+
+fn main(argc, argv) {
+ var i;
+ var fp, data;
+ var toks;
+
if argc != 2 {
fprintf(stderr, usage_str, argv[0]);
return 1;
}
- const fp = fopen(argv[1], "rb");
+ i = 0;
+ while i < argc {
+ puts(argv[i]);
+ }
+ fp = fopen(argv[1], "rb");
if fp == null {
perror("main");
return 1;
}
- const data = drain(fp);
+ data = drain(fp);
fclose(fp);
if data == 0 {
fprintf(stderr, "failed to drain '%s'\n", argv[1]);
return 1;
}
- const toks = lexer(data);
+ toks = lexer(data);
free(data);
if toks == 0 {
fprintf(stderr, "lexer failed\n");
@@ -30,3 +39,15 @@ fn main(argc, argv)
lexer_free(toks);
return 0;
}
+
+fn strlen(s) {
+ var i, len;
+
+ i = 0;
+ while s[i] {
+ len = len + ((s[i] & 0xFF) != 0);
+ len = len + ((s[i] & 0xFF00) != 0);
+ i = i + 1;
+ }
+ return len;
+}