From 9c870e74db55c0b15b38311347ca42eb5597a279 Mon Sep 17 00:00:00 2001 From: SinusFox Date: Tue, 9 May 2023 14:51:15 +0200 Subject: [PATCH] initial creation of lexer --- Exercise 2/C/TestLexer.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Exercise 2/C/TestLexer.c b/Exercise 2/C/TestLexer.c index 7212b40..f90000e 100644 --- a/Exercise 2/C/TestLexer.c +++ b/Exercise 2/C/TestLexer.c @@ -1,8 +1,27 @@ #include #include "Lexer.h" +int start(char* sourcecode) { + if (sourcecode != NULL) { + return _GET_NEXT_CHARACTER_; + } else { + return _STOP_; + } +} + int main() { char* sourcecode = "Hello World the second - I coded this before. So yeah, FOXES ARE SUPERIOR.\nBut the professor wants us to write the following: \"index = 2 * count + 42;\""; printf(sourcecode); + + int lexer_state = _START_; + do { + switch (lexer_state) { + case _START_: + lexer_state = start(sourcecode); + break; + default: lexer_state = _ERROR_; + } + } while (lexer_state != _STOP_); + return 0; }