From 93ff7e031d942e2361e158e4c5ff20392dc8eed4 Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 24 Jun 2021 09:48:36 +0200 Subject: [PATCH] ? expression --- lexer.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lexer.c b/lexer.c index e566f68..f7d69b6 100644 --- a/lexer.c +++ b/lexer.c @@ -56,6 +56,7 @@ struct Node char *stringValue; Node *children[2]; }; + struct String { enum opcode type; char *stringValue; int len;} }; @@ -70,7 +71,8 @@ Node *mkNode(enum opcode type) Node *mkString(char *value) { Node *node= mkNode(STRING); - node->stringValue= value; + node->String.stringValue= value; + node->String.len=strlen(value); return node; } @@ -108,9 +110,9 @@ int execute(Node *node, Exploration *in) { switch (node->type) { case STRING: { - for (int i=0; i < strlen(node->stringValue);i++) + for (int i=0; i < node->String.len);i++) { - if (advance(in) != node->stringValue[i]) + if (advance(in) != node->String.stringValue[i]) { return 0; }