From 08ec881379a83925080a687fde2682264785e8e4 Mon Sep 17 00:00:00 2001 From: maxonfjvipon Date: Tue, 11 Jul 2023 14:36:12 +0300 Subject: [PATCH] #2231 - try to fix syntax --- .../main/antlr4/org/eolang/parser/Program.g4 | 26 ++++++++++++------- .../java/org/eolang/parser/XeListener.java | 10 +++++++ 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/eo-parser/src/main/antlr4/org/eolang/parser/Program.g4 b/eo-parser/src/main/antlr4/org/eolang/parser/Program.g4 index 4216b441fd..a512d99c19 100644 --- a/eo-parser/src/main/antlr4/org/eolang/parser/Program.g4 +++ b/eo-parser/src/main/antlr4/org/eolang/parser/Program.g4 @@ -27,18 +27,23 @@ objects ( (COMMENT SINGLE_EOL)* object - (SINGLE_EOL | DOUBLE_EOL) )+ ; object : - ( - abstraction - | - application - ) - tail? + abstraction + otail? + SINGLE_EOL? + | + application + otail? + (SINGLE_EOL | DOUBLE_EOL) + ; + +otail + : + tail ( SINGLE_EOL method @@ -53,9 +58,10 @@ abstraction (COMMENT SINGLE_EOL)* attributes ( - (suffix (SPACE SLASH (NAME | QUESTION))?) - | htail + suffix + (SPACE SLASH (NAME | QUESTION))? )? + SINGLE_EOL ; attributes @@ -91,7 +97,7 @@ tail : SINGLE_EOL TAB - (object (SINGLE_EOL | DOUBLE_EOL))+ + object+ UNTAB ; diff --git a/eo-parser/src/main/java/org/eolang/parser/XeListener.java b/eo-parser/src/main/java/org/eolang/parser/XeListener.java index 8d15d47a38..3f8a67bbf8 100644 --- a/eo-parser/src/main/java/org/eolang/parser/XeListener.java +++ b/eo-parser/src/main/java/org/eolang/parser/XeListener.java @@ -197,6 +197,16 @@ public void exitObject(final ProgramParser.ObjectContext ctx) { // This method is created by ANTLR and can't be removed } + @Override + public void enterOtail(ProgramParser.OtailContext ctx) { + // Nothing here + } + + @Override + public void exitOtail(ProgramParser.OtailContext ctx) { + // Nothing here + } + @Override public void enterAbstraction(final ProgramParser.AbstractionContext ctx) { this.objects.start(