From 73676a8b10ccaaae908a1d6ef8f83f8748fe2919 Mon Sep 17 00:00:00 2001 From: NicolasAnquetil Date: Thu, 20 Dec 2018 10:49:38 +0100 Subject: [PATCH 1/2] Added a count of execution_part_construct in execution_part action (R208) --- src/fortran/ofp/parser/FortranParserBase.g | 5 +++-- src/fortran/ofp/parser/java/FortranParserActionPrint.java | 3 ++- src/fortran/ofp/parser/java/IFortranParserAction.java | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/fortran/ofp/parser/FortranParserBase.g b/src/fortran/ofp/parser/FortranParserBase.g index 18c52f4..cef2416 100644 --- a/src/fortran/ofp/parser/FortranParserBase.g +++ b/src/fortran/ofp/parser/FortranParserBase.g @@ -239,11 +239,12 @@ declaration_construct // R208 execution_part +@init{int count = 0;} @after { - action.execution_part(); + action.execution_part(count); } : executable_construct - ( execution_part_construct )* + ( execution_part_construct {count += 1;} )* ; // R209 diff --git a/src/fortran/ofp/parser/java/FortranParserActionPrint.java b/src/fortran/ofp/parser/java/FortranParserActionPrint.java index dc64fb1..5ba2018 100644 --- a/src/fortran/ofp/parser/java/FortranParserActionPrint.java +++ b/src/fortran/ofp/parser/java/FortranParserActionPrint.java @@ -145,8 +145,9 @@ public void declaration_construct() { * execution_part * */ - public void execution_part() { + public void execution_part(int count) { printRuleHeader(208, "execution-part"); + printParameter(count, "count"); printRuleTrailer(); } diff --git a/src/fortran/ofp/parser/java/IFortranParserAction.java b/src/fortran/ofp/parser/java/IFortranParserAction.java index 1e7483b..87d3a5a 100644 --- a/src/fortran/ofp/parser/java/IFortranParserAction.java +++ b/src/fortran/ofp/parser/java/IFortranParserAction.java @@ -61,7 +61,7 @@ public abstract interface IFortranParserAction { /** R208 * execution_part */ - public abstract void execution_part(); + public abstract void execution_part(int count); /** R209 * execution_part_construct From 41baf29e7b84054decadf1d477e30f2f6f40f110 Mon Sep 17 00:00:00 2001 From: NicolasAnquetil Date: Mon, 28 Jan 2019 16:33:18 +0100 Subject: [PATCH 2/2] execution_count was wrong by 1 --- .gitignore | 1 + src/fortran/ofp/parser/FortranParserBase.g | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5e00402..f915ca1 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ lib/ *.lai *.la *.a +/bin/ diff --git a/src/fortran/ofp/parser/FortranParserBase.g b/src/fortran/ofp/parser/FortranParserBase.g index cef2416..ecc97d2 100644 --- a/src/fortran/ofp/parser/FortranParserBase.g +++ b/src/fortran/ofp/parser/FortranParserBase.g @@ -239,7 +239,7 @@ declaration_construct // R208 execution_part -@init{int count = 0;} +@init{int count = 1; /*for mandatory executable_construct*/} @after { action.execution_part(count); }