Wrote the interpreter

This commit is contained in:
2022-08-06 07:58:32 +01:00
parent 0048c92cf5
commit 7a3986af33
10 changed files with 292 additions and 27 deletions

View File

@@ -7,27 +7,23 @@
void printLiteral(Literal literal) {
switch(literal.type) {
case LITERAL_NULL:
printf("null\n");
printf("null");
break;
case LITERAL_BOOLEAN:
printf(AS_BOOLEAN(literal) ? "true\n" : "false\n");
printf(AS_BOOLEAN(literal) ? "true" : "false");
break;
case LITERAL_INTEGER:
printf("%d\n", AS_INTEGER(literal));
printf("%d", AS_INTEGER(literal));
break;
case LITERAL_FLOAT:
printf("%g\n", AS_FLOAT(literal));
printf("%g", AS_FLOAT(literal));
break;
case LITERAL_STRING:
printf("%.*s (%d)\n", STRLEN(literal), AS_STRING(literal), STRLEN(literal));
break;
case LITERAL_FUNCTION:
printf("<toy function>\n");
printf("%.*s", STRLEN(literal), AS_STRING(literal));
break;
default: