WIP: tokenizer
authorLukas Krickl <lukas@krickl.dev>
Wed, 15 Nov 2023 16:48:56 +0000 (17:48 +0100)
committerLukas Krickl <lukas@krickl.dev>
Wed, 15 Nov 2023 16:48:56 +0000 (17:48 +0100)
src/ulas.c

index d02eb2ebdc6d38efc7f7e4ba7f4f90e291a5bba4..5a141801b0abd6911e8c8c82a69085a38a49303d 100644 (file)
@@ -236,9 +236,19 @@ struct ulas_tok ulas_totok(const char *buf, unsigned long n, int *rc) {
     // string
     break;
   default:
-    ULASERR("Unexpected token: %s\n", buf);
-    *rc = -1;
-    goto end;
+    if (isdigit(first)) {
+      // integer
+    } else if (ulas_isname(buf, n)) {
+      // literal. we can resolve it now
+      // because literals need to be able to be resolved
+      // for every line, unless they are a label!
+    } else {
+
+      ULASERR("Unexpected token: %s\n", buf);
+      *rc = -1;
+      goto end;
+    }
+    break;
   }
 
 end: