From b8fe5fe21b27a6118191f7b76ecda440e1992c02 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Mon, 31 Jul 2023 13:51:30 +0100 Subject: [PATCH] fix: do not allow eof to advance states if the new state is the same state --- cli/src/generate/render.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cli/src/generate/render.rs b/cli/src/generate/render.rs index cb9f6c72..f7e6c18e 100644 --- a/cli/src/generate/render.rs +++ b/cli/src/generate/render.rs @@ -879,14 +879,23 @@ impl Generator { add!(self, " ||{}", line_break); } if range.end == range.start { + if range.start == '\0' { + add!(self, "!eof && "); + } add!(self, "lookahead == "); self.add_character(range.start); } else if range.end as u32 == range.start as u32 + 1 { + if range.start == '\0' { + add!(self, "!eof && "); + } add!(self, "lookahead == "); self.add_character(range.start); add!(self, " ||{}lookahead == ", line_break); self.add_character(range.end); } else { + if range.start == '\0' { + add!(self, "!eof && "); + } add!(self, "("); self.add_character(range.start); add!(self, " <= lookahead && lookahead <= ");