From 072f0d4ea7d1da479baea85fadead5f4d640eff2 Mon Sep 17 00:00:00 2001 From: kdx Date: Fri, 20 Jan 2023 04:39:13 +0100 Subject: test: simpler --- test | 35 ++++++++++++++++++++++++++++------- 1 file 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 \n"; + +const usage_str = "usage: %s \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; +} -- cgit v1.2.3