From beccf376ecbcc3819cc0d102b3635b6e5f39fa9e Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sat, 1 Nov 2025 17:30:08 +0200 Subject: feat: Output token list --- src/StringConsumer/StringConsumerEngine.cl | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/StringConsumer/StringConsumerEngine.cl') diff --git a/src/StringConsumer/StringConsumerEngine.cl b/src/StringConsumer/StringConsumerEngine.cl index 6fe4403..6f07d2e 100644 --- a/src/StringConsumer/StringConsumerEngine.cl +++ b/src/StringConsumer/StringConsumerEngine.cl @@ -4,6 +4,7 @@ class StringConsumerEngine inherits System { ; str: String; + tl: TokenList <- new TokenList; init(code: String) : Object {{ assert(not (code = ""), "init", "input code cannot be empty!"); @@ -23,6 +24,7 @@ class StringConsumerEngine inherits System { case consumers.find(str) of c: IStringConsumer => { str <- str.substr(c.consumed_length(), str.length() - c.consumed_length()); + tl.push(c.token()); true; }; o: Object => false; @@ -37,4 +39,8 @@ class StringConsumerEngine inherits System { empty() : Bool { str = "" }; + + generated_tokens() : TokenList { + tl + }; }; -- cgit v1.3.1-23-gd82d