From bbc1838b8af278e7edf0e4bc1a892c771f71473d Mon Sep 17 00:00:00 2001 From: yenru0 Date: Tue, 4 Nov 2025 13:20:21 +0900 Subject: [PATCH] modify some and define types for token --- README.md | 3 ++- include/globals.h | 30 ++++++++++++++++++++++++++++++ test.cval | 2 +- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 28bcc0b..456e6ed 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,10 @@ * SEMI `;` * COMMA `,` * ARROW `->` +* STAR `*` * COMMENT `#` * NUM `[0-9]*(.[0-9]+)?` * RETURN `return` * IF `if` * ELSE `else` -* STRING "{any}" \ No newline at end of file +* STRING `"{any}"` \ No newline at end of file diff --git a/include/globals.h b/include/globals.h index e69de29..949ae38 100644 --- a/include/globals.h +++ b/include/globals.h @@ -0,0 +1,30 @@ +#pragma once + +typedef enum { + LBRACK, + RBRACK, + LCURLY, + RCURLY, + + ID, + SEMI, + COMMA, + ARROW, + STAR, + COMMENT, + NUM, + + RETURN, + IF, + ELSE, + + STRING_LITERAL, + + ERROR +} TokenType; + +typedef struct { + TokenType type; + char *data; + int line; +} Token; diff --git a/test.cval b/test.cval index 85ab1ea..7e4a908 100644 --- a/test.cval +++ b/test.cval @@ -12,7 +12,7 @@ val [->int] main { val str line input; val int n to_int line,; if < n 0 { - print "ILLEGAL" + print "illegal number" } else { print to_str fib n,; }