From 83a40377406ebf36c6edb52c46315be006e85b6d Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sat, 8 Jul 2023 10:36:58 -0400 Subject: [PATCH] Return a lexer error on unexpected input - close #3 --- spec/propane_spec.rb | 23 +++++++++++++++++++++++ spec/test_lexer_unknown_character.d | 19 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 spec/test_lexer_unknown_character.d diff --git a/spec/propane_spec.rb b/spec/propane_spec.rb index d83f1c1..f31bc14 100644 --- a/spec/propane_spec.rb +++ b/spec/propane_spec.rb @@ -81,6 +81,29 @@ EOF expect(results.status).to eq 0 end + it "detects a lexer error when an unknown character is seen" do + write_grammar <> +Start -> int << + $$ = $1; +>> +EOF + build_parser + compile("spec/test_lexer_unknown_character.d") + results = run + expect(results.stderr).to eq "" + expect(results.status).to eq 0 + end + it "generates a parser" do write_grammar <