From edf93dea0525d4fc87b47684117e6b9dc6ddd8d4 Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Tue, 1 Jun 2021 21:27:55 +0200
Subject: [PATCH] fix parser states and catch-all rule

---
 src/main/jastadd/scanner/Keywords.flex       | 2 +-
 src/main/jastadd/scanner/RulesPostamble.flex | 8 ++++----
 src/main/jastadd/scanner/Symbols.flex        | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/main/jastadd/scanner/Keywords.flex b/src/main/jastadd/scanner/Keywords.flex
index 76397b9..27524e3 100644
--- a/src/main/jastadd/scanner/Keywords.flex
+++ b/src/main/jastadd/scanner/Keywords.flex
@@ -1,4 +1,4 @@
-<YYINITIAL,DECLARATION> {
+<YYINITIAL,COMMENT,DECLARATION> {
   "abstract"            { yybegin(DECLARATION); return sym(Terminals.ABSTRACT); }
   "rel"                 { yybegin(DECLARATION); return sym(Terminals.RELATION); }
 }
diff --git a/src/main/jastadd/scanner/RulesPostamble.flex b/src/main/jastadd/scanner/RulesPostamble.flex
index 5460a0b..37f546f 100644
--- a/src/main/jastadd/scanner/RulesPostamble.flex
+++ b/src/main/jastadd/scanner/RulesPostamble.flex
@@ -1,7 +1,7 @@
-<YYINITIAL,DECLARATION> {
+<YYINITIAL,COMMENT,DECLARATION> {
   {ID}                  { yybegin(DECLARATION); return sym(Terminals.ID); }
-  [^]                   { throw new ScannerError((yyline+1) +"," + (yycolumn+1) + ": Illegal character <"+yytext()+">"); }
 }
-<YYINITIAL,DECLARATION,COMMENT> {
+<YYINITIAL,COMMENT,DECLARATION> {
   <<EOF>>               { return sym(Terminals.EOF); }
-}
+  [^]                   { throw new ScannerError((yyline+1) +"," + (yycolumn+1) + ": Illegal character <"+yytext()+">"); }
+}
\ No newline at end of file
diff --git a/src/main/jastadd/scanner/Symbols.flex b/src/main/jastadd/scanner/Symbols.flex
index 7f05c11..5ac1c2d 100644
--- a/src/main/jastadd/scanner/Symbols.flex
+++ b/src/main/jastadd/scanner/Symbols.flex
@@ -1,4 +1,4 @@
-<YYINITIAL,DECLARATION> {
+<YYINITIAL,COMMENT,DECLARATION> {
   ";"                   { yybegin(COMMENT);     return sym(Terminals.SCOL); }
   ":"                   { yybegin(DECLARATION); return sym(Terminals.COL); }
   "::="                 { yybegin(DECLARATION); return sym(Terminals.ASSIGN); }
-- 
GitLab