From e01798db2fcc2b505938134b3fc11c7ebc26d5c9 Mon Sep 17 00:00:00 2001 From: Max Wash Date: Sat, 16 Nov 2024 21:30:45 +0000 Subject: [PATCH] doc: add a note describing lexer state transitions --- doc/lex/lexer-states.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/lex/lexer-states.txt diff --git a/doc/lex/lexer-states.txt b/doc/lex/lexer-states.txt new file mode 100644 index 0000000..99a90b5 --- /dev/null +++ b/doc/lex/lexer-states.txt @@ -0,0 +1,14 @@ +possible lexer states: + STATE_NORMAL + STATE_STRING + STATE_FSTRING + STATE_INTERPOLATION + + +state transitions: + STATE_NORMAL + " -> push STATE_STRING + STATE_NORMAL + ' -> push STATE_FSTRING + STATE_STRING + " -> pop + STATE_FSTRING + { -> push STATE_INTERPOLATION, record brace depth + STATE_FSTRING + ' -> pop + STATE_INTERPOLATION + } (at recorded brace depth) -> pop \ No newline at end of file