From e27bd78c8211532bf0d39d87d2051222f7e86e26 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Tue, 14 Jan 2020 07:27:47 +0100 Subject: start --- src/main.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/main.c (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..6653ba2 --- /dev/null +++ b/src/main.c @@ -0,0 +1,41 @@ +#include "../include/tokenizer.h" +#include +#include + +int main() { + TslTokenizer tokenizer; + const char *code = +"value1 = 1\n" +"value2 = true\n" +"value3 = null\n" +"value4 = \"hello world\"\n" +"value5 = {\"hello\", \"world\", 5}\n" +"value6 = {\"hello\": \"world\", \"value\": 23}\n" +"value7 = fn () {}\n" +"value8 = fn (value) {}\n" +"value9 = {\n" +" \"hello\": \"world\",\n" +" \"sayHello\": fn() {\n" +" \n" +" }\n" +"}\n" +"\n" +"str = value9[\"hello\"]\n" +"value9[\"sayHello\"]()"; + tsl_tokenizer_init(&tokenizer, code, strlen(code)); + + for(;;) { + TslToken token = tsl_tokenizer_next(&tokenizer); + if(token == TSL_TOKEN_END_OF_FILE) { + break; + } else if(token == TSL_TOKEN_IDENTIFIER) { + printf("identifier: %.*s\n", (int)tokenizer.identifier.size, tokenizer.identifier.data); + } else if(token == TSL_TOKEN_NUM) { + printf("num: %ld\n", tokenizer.number_value); + } else { + return 1; + } + } + + return 0; +} \ No newline at end of file -- cgit v1.2.3