From 50c99eca877f092aa1495302822d95f67d461404 Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Wed, 8 Mar 2017 17:04:41 +0100
Subject: [PATCH] reformatted acc printing

---
 Parser/spec/AccPrinting.jadd | 1060 +++++++++++++++++-----------------
 1 file changed, 529 insertions(+), 531 deletions(-)

diff --git a/Parser/spec/AccPrinting.jadd b/Parser/spec/AccPrinting.jadd
index 53a8c86..9973844 100644
--- a/Parser/spec/AccPrinting.jadd
+++ b/Parser/spec/AccPrinting.jadd
@@ -1,545 +1,543 @@
 aspect Printing {
-	
 
 // =============================================================================
 //                                  Directives
 // =============================================================================
 
-    // ACC 2.5.1
-    // AccParallelConstruct:AccConstruct ::= AccParallelStmt Block AccEndParallelStmt ;
-	public void AccParallelConstruct.prettyPrint(PrettyPrinter s) {
-		getAccParallelStmt().prettyPrint(s);
-		getBlock().prettyPrint(s);
-		getAccEndParallelStmt().prettyPrint(s);
-	}
-    // AccParallelStmt:AccStmt ::= AccClause* ;
-    public void AccParallelStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc parallel");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-    // AccEndParallelStmt:AccStmt ;
-    public void AccEndParallelStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc end parallel");
-        s.lb();
-    }
-
-    // ACC 2.5.2
-    // AccKernelsConstruct:AccConstruct ::= AccKernelsStmt Block AccEndKernelsStmt ;
-	public void AccKernelsConstruct.prettyPrint(PrettyPrinter s) {
-		getAccKernelsStmt().prettyPrint(s);
-		getBlock().prettyPrint(s);
-		getAccEndKernelsStmt().prettyPrint(s);
-	}
-    // AccKernelsStmt:AccStmt ::= AccClause* ;
-    public void AccKernelsStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc kernels");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-    // AccEndKernelsStmt:AccStmt ;
-    public void AccEndKernelsStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc end kernels");
-        s.lb();
-    }
-
-
-    // ACC 2.6.3
-    // AccDataConstruct:AccConstruct ::= AccDataStmt Block AccEndDataStmt ;
-    public void AccDataConstruct.prettyPrint(PrettyPrinter s) {
-        getAccDataStmt().prettyPrint(s);
-        getBlock().prettyPrint(s);
-        getAccEndDataStmt().prettyPrint(s);
-    }
-
-    // AccDataStmt:AccStmt ::= AccClause* ;
-    public void AccDataStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc data");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-
-    // AccEndDataStmt:AccStmt ;
-    public void AccEndDataStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc end data");
-        s.lb();
-    }
-
-    // ACC 2.8
-    // AccHostDataConstruct:AccConstruct ::= AccHostDataStmt Block AccEndHostDataStmt ;
-    public void AccHostDataConstruct.prettyPrint(PrettyPrinter s) {
-        getAccHostDataStmt().prettyPrint(s);
-        getBlock().prettyPrint(s);
-        getAccEndHostDataStmt().prettyPrint(s);
-    }
-
-    // AccHostDataStmt:AccStmt ::= AccClause* ;
-    public void AccHostDataStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc host_data");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-
-    // AccEndHostDataStmt:AccStmt ;
-    public void AccEndHostDataStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc end host_data");
-        s.lb();
-    }
-
-
-    // ACC 2.12
-    // AccUnaryAtomicConstruct:AccAtomicConstruct ::= AccUnaryAtomicStmt ActionStmt [AccEndAtomicStmt] ;
-
-    public void AccUnaryAtomicConstruct.prettyPrint(PrettyPrinter s) {
-        getAccUnaryAtomicStmt().prettyPrint(s);
-        getActionStmt().prettyPrint(s);
-        if (hasAccEndAtomicStmt()) {
-            getAccEndAtomicStmt().prettyPrint(s);
-        }
-    }
-
-    // AccAtomicCaptureConstruct:AccAtomicConstruct ::= AccAtomicCaptureStmt First:ActionStmt Second:ActionStmt AccEndAtomicStmt ;
-    public void AccAtomicCaptureConstruct.prettyPrint(PrettyPrinter s) {
-        getAccAtomicCaptureStmt().prettyPrint(s);
-        getFirst().prettyPrint(s);
-        getSecond().prettyPrint(s);
-        getAccEndAtomicStmt().prettyPrint(s);
-    }
-
-    // AccReadAtomicStmt:AccUnaryAtomicStmt ;
-    public void AccReadAtomicStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc atomic read");
-        s.lb();
-    }
-
-    // AccWriteAtomicStmt:AccUnaryAtomicStmt ;
-    public void AccWriteAtomicStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc atomic write");
-        s.lb();
-    }
-
-    // AccUpdateAtomicStmt:AccUnaryAtomicStmt ;
-    public void AccUpdateAtomicStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc atomic update");
-        s.lb();
-    }
-
-    // AccAtomicCaptureStmt:AccStmt ;
-    public void AccAtomicCaptureStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc atomic capture");
-        s.lb();
-    }
-
-    // AccEndAtomicStmt:AccStmt ;
-    public void AccEndAtomicStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc end atomic");
-        s.lb();
-    }
-
-    // ACC 2.9
-    // AccLoopConstruct:AccDoConstruct ::= AccLoopStmt DoConstruct [AccEndLoopStmt] ;
-    public void AccLoopConstruct.prettyPrint(PrettyPrinter s) {
-        getAccLoopStmt().prettyPrint(s);
-        getDoConstruct().prettyPrint(s);
-        if (hasAccEndLoopStmt()) {
-            getAccEndLoopStmt().prettyPrint(s);
-        }
-    }
-
-    // AccLoopStmt:AccStmt ::= AccClause* ;
-    public void AccLoopStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc loop");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-
-    // AccEndLoopStmt:AccStmt ;
-    public void AccEndLoopStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc end loop");
-        s.lb();
-    }
-
-    // ACC 2.11
-    // AccParallelLoopConstruct:AccDoConstruct ::= AccParallelLoopStmt DoConstruct [AccEndParallelLoopStmt] ;
-    public void AccParallelLoopConstruct.prettyPrint(PrettyPrinter s) {
-        getAccParallelLoopStmt().prettyPrint(s);
-        getDoConstruct().prettyPrint(s);
-        if (hasAccEndParallelLoopStmt()) {
-            getAccEndParallelLoopStmt().prettyPrint(s);
-        }
-    }
-
-    // AccParallelLoopStmt:AccStmt ::= AccClause* ;
-    public void AccParallelLoopStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc parallel loop");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-
-    // AccEndParallelLoopStmt:AccStmt ;
-    public void AccEndParallelLoopStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc end parallel loop");
-        s.lb();
-    }
-
-    // AccKernelsLoopConstruct:AccDoConstruct ::= AccKernelsLoopStmt DoConstruct [AccEndKernelsLoopStmt] ;
-    public void AccKernelsLoopConstruct.prettyPrint(PrettyPrinter s) {
-        getAccKernelsLoopStmt().prettyPrint(s);
-        getDoConstruct().prettyPrint(s);
-        if (hasAccEndKernelsLoopStmt()) {
-            getAccEndKernelsLoopStmt().prettyPrint(s);
-        }
-    }
-
-    // AccKernelsLoopStmt:AccStmt ::= AccClause* ;
-    public void AccKernelsLoopStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc kernels loop");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-
-    // AccEndKernelsLoopStmt:AccStmt ;
-    public void AccEndKernelsLoopStmt.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc end kernels loop");
-        s.lb();
-    }
+  // ACC 2.5.1
+  // AccParallelConstruct:AccConstruct ::= AccParallelStmt Block AccEndParallelStmt ;
+  public void AccParallelConstruct.prettyPrint(PrettyPrinter s) {
+    getAccParallelStmt().prettyPrint(s);
+    getBlock().prettyPrint(s);
+    getAccEndParallelStmt().prettyPrint(s);
+  }
+
+  // AccParallelStmt:AccStmt ::= AccClause* ;
+  public void AccParallelStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc parallel");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // AccEndParallelStmt:AccStmt ;
+  public void AccEndParallelStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc end parallel");
+    s.lb();
+  }
+
+  // ACC 2.5.2
+  // AccKernelsConstruct:AccConstruct ::= AccKernelsStmt Block AccEndKernelsStmt ;
+  public void AccKernelsConstruct.prettyPrint(PrettyPrinter s) {
+    getAccKernelsStmt().prettyPrint(s);
+    getBlock().prettyPrint(s);
+    getAccEndKernelsStmt().prettyPrint(s);
+  }
+
+  // AccKernelsStmt:AccStmt ::= AccClause* ;
+  public void AccKernelsStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc kernels");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // AccEndKernelsStmt:AccStmt ;
+  public void AccEndKernelsStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc end kernels");
+    s.lb();
+  }
+
+
+  // ACC 2.6.3
+  // AccDataConstruct:AccConstruct ::= AccDataStmt Block AccEndDataStmt ;
+  public void AccDataConstruct.prettyPrint(PrettyPrinter s) {
+    getAccDataStmt().prettyPrint(s);
+    getBlock().prettyPrint(s);
+    getAccEndDataStmt().prettyPrint(s);
+  }
+
+  // AccDataStmt:AccStmt ::= AccClause* ;
+  public void AccDataStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc data");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // AccEndDataStmt:AccStmt ;
+  public void AccEndDataStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc end data");
+    s.lb();
+  }
+
+  // ACC 2.8
+  // AccHostDataConstruct:AccConstruct ::= AccHostDataStmt Block AccEndHostDataStmt ;
+  public void AccHostDataConstruct.prettyPrint(PrettyPrinter s) {
+    getAccHostDataStmt().prettyPrint(s);
+    getBlock().prettyPrint(s);
+    getAccEndHostDataStmt().prettyPrint(s);
+  }
+
+  // AccHostDataStmt:AccStmt ::= AccClause* ;
+  public void AccHostDataStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc host_data");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // AccEndHostDataStmt:AccStmt ;
+  public void AccEndHostDataStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc end host_data");
+    s.lb();
+  }
+
+  // ACC 2.12
+  // AccUnaryAtomicConstruct:AccAtomicConstruct ::= AccUnaryAtomicStmt ActionStmt [AccEndAtomicStmt] ;
+
+  public void AccUnaryAtomicConstruct.prettyPrint(PrettyPrinter s) {
+    getAccUnaryAtomicStmt().prettyPrint(s);
+    getActionStmt().prettyPrint(s);
+    if (hasAccEndAtomicStmt()) {
+      getAccEndAtomicStmt().prettyPrint(s);
+    }
+  }
+
+  // AccAtomicCaptureConstruct:AccAtomicConstruct ::= AccAtomicCaptureStmt First:ActionStmt Second:ActionStmt AccEndAtomicStmt ;
+  public void AccAtomicCaptureConstruct.prettyPrint(PrettyPrinter s) {
+    getAccAtomicCaptureStmt().prettyPrint(s);
+    getFirst().prettyPrint(s);
+    getSecond().prettyPrint(s);
+    getAccEndAtomicStmt().prettyPrint(s);
+  }
+
+  // AccReadAtomicStmt:AccUnaryAtomicStmt ;
+  public void AccReadAtomicStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc atomic read");
+    s.lb();
+  }
+
+  // AccWriteAtomicStmt:AccUnaryAtomicStmt ;
+  public void AccWriteAtomicStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc atomic write");
+    s.lb();
+  }
+
+  // AccUpdateAtomicStmt:AccUnaryAtomicStmt ;
+  public void AccUpdateAtomicStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc atomic update");
+    s.lb();
+  }
+
+  // AccAtomicCaptureStmt:AccStmt ;
+  public void AccAtomicCaptureStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc atomic capture");
+    s.lb();
+  }
+
+  // AccEndAtomicStmt:AccStmt ;
+  public void AccEndAtomicStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc end atomic");
+    s.lb();
+  }
+
+  // ACC 2.9
+  // AccLoopConstruct:AccDoConstruct ::= AccLoopStmt DoConstruct [AccEndLoopStmt] ;
+  public void AccLoopConstruct.prettyPrint(PrettyPrinter s) {
+    getAccLoopStmt().prettyPrint(s);
+    getDoConstruct().prettyPrint(s);
+    if (hasAccEndLoopStmt()) {
+      getAccEndLoopStmt().prettyPrint(s);
+    }
+  }
+
+  // AccLoopStmt:AccStmt ::= AccClause* ;
+  public void AccLoopStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc loop");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // AccEndLoopStmt:AccStmt ;
+  public void AccEndLoopStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc end loop");
+    s.lb();
+  }
+
+  // ACC 2.11
+  // AccParallelLoopConstruct:AccDoConstruct ::= AccParallelLoopStmt DoConstruct [AccEndParallelLoopStmt] ;
+  public void AccParallelLoopConstruct.prettyPrint(PrettyPrinter s) {
+    getAccParallelLoopStmt().prettyPrint(s);
+    getDoConstruct().prettyPrint(s);
+    if (hasAccEndParallelLoopStmt()) {
+      getAccEndParallelLoopStmt().prettyPrint(s);
+    }
+  }
+
+  // AccParallelLoopStmt:AccStmt ::= AccClause* ;
+  public void AccParallelLoopStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc parallel loop");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // AccEndParallelLoopStmt:AccStmt ;
+  public void AccEndParallelLoopStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc end parallel loop");
+    s.lb();
+  }
+
+  // AccKernelsLoopConstruct:AccDoConstruct ::= AccKernelsLoopStmt DoConstruct [AccEndKernelsLoopStmt] ;
+  public void AccKernelsLoopConstruct.prettyPrint(PrettyPrinter s) {
+    getAccKernelsLoopStmt().prettyPrint(s);
+    getDoConstruct().prettyPrint(s);
+    if (hasAccEndKernelsLoopStmt()) {
+      getAccEndKernelsLoopStmt().prettyPrint(s);
+    }
+  }
+
+  // AccKernelsLoopStmt:AccStmt ::= AccClause* ;
+  public void AccKernelsLoopStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc kernels loop");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // AccEndKernelsLoopStmt:AccStmt ;
+  public void AccEndKernelsLoopStmt.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc end kernels loop");
+    s.lb();
+  }
 
 // action statements --------------------------------------------------------------
 
-    // ACC 2.6.4
-    // AccEnterDataDirective:AccDirective ::= AccClause* ;
-    public void AccEnterDataDirective.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc enter data");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-
-    // AccExitDataDirective:AccDirective ::= AccClause* ;
-    public void AccExitDataDirective.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc exit data");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-
-    // ACC 2.10
-    // AccCacheDirective:AccDirective ::= Variable* ;
-    public void AccCacheDirective.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc cache");
-        s.ensureWs();
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.lb();
-    }
-
-    // ACC 2.14.4
-    // AccUpdateDirective:AccDirective ::= AccClause* ;
-    public void AccUpdateDirective.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc update");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-
-    // ACC 2.13
-    // AccDeclareDirective:AccDirective ::= AccClause* ;
-    public void AccDeclareDirective.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc declare");
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-
-    // ACC 2.15.1
-    // AccRoutineDirective:AccDirective ::= [Name] AccClause* ;
-    public void AccRoutineDirective.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc routine");
-        if (hasName()) {
-            s.append("(");
-            getName().prettyPrint(s);
-            s.append(")");
-        }
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
+  // ACC 2.6.4
+  // AccEnterDataDirective:AccDirective ::= AccClause* ;
+  public void AccEnterDataDirective.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc enter data");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // AccExitDataDirective:AccDirective ::= AccClause* ;
+  public void AccExitDataDirective.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc exit data");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // ACC 2.10
+  // AccCacheDirective:AccDirective ::= Variable* ;
+  public void AccCacheDirective.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc cache");
+    s.ensureWs();
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.lb();
+  }
+
+  // ACC 2.14.4
+  // AccUpdateDirective:AccDirective ::= AccClause* ;
+  public void AccUpdateDirective.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc update");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // ACC 2.13
+  // AccDeclareDirective:AccDirective ::= AccClause* ;
+  public void AccDeclareDirective.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc declare");
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // ACC 2.15.1
+  // AccRoutineDirective:AccDirective ::= [Name] AccClause* ;
+  public void AccRoutineDirective.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc routine");
+    if (hasName()) {
+      s.append("(");
+      getName().prettyPrint(s);
+      s.append(")");
+    }
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
+
+  // ACC 2.16.3
+  // AccWaitDirective:AccDirective ::= Expr* AccClause* ;
+  public void AccWaitDirective.prettyPrint(PrettyPrinter s) {
+    s.append("!$acc wait");
+    if (getExprList().numChildren() > 0) {
+      s.append("(");
+      getExprList().prettyPrintJoin(s, ", ");
+      s.append(")");
+    }
+    s.ensureWs();
+    getAccClauseList().prettyPrintJoin(s, " ");
+    s.lb();
+  }
 
-    // ACC 2.16.3
-    // AccWaitDirective:AccDirective ::= Expr* AccClause* ;
-    public void AccWaitDirective.prettyPrint(PrettyPrinter s) {
-        s.append("!$acc wait");
-        if (getExprList().numChildren() > 0) {
-            s.append("(");
-            getExprList().prettyPrintJoin(s, ", ");
-            s.append(")");
-        }
-        s.ensureWs();
-        getAccClauseList().prettyPrintJoin(s, " ");
-        s.lb();
-    }
-    
-    
 // =============================================================================
 //                                   Clauses
 // =============================================================================
 
-	public void AccIfClause.prettyPrint(PrettyPrinter s) {
-		s.append("if(");
-        getCondition().prettyPrint(s);
-        s.append(")");
-	}
-	
-	public void AccReductionClause.prettyPrint(PrettyPrinter s) {
-		s.append("reduction(");
-        getAccOperator().prettyPrint(s);
-        s.append(":");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccOperatorPlus.prettyPrint(PrettyPrinter s) { s.append("+"); }
-	public void AccOperatorTimes.prettyPrint(PrettyPrinter s) { s.append("*"); }
-	public void AccOperatorMax.prettyPrint(PrettyPrinter s) { s.append("max"); }
-	public void AccOperatorMin.prettyPrint(PrettyPrinter s) { s.append("min"); }
-	public void AccOperatorIAnd.prettyPrint(PrettyPrinter s) { s.append("iand"); }
-	public void AccOperatorIOr.prettyPrint(PrettyPrinter s) { s.append("ior"); }
-	public void AccOperatorIEor.prettyPrint(PrettyPrinter s) { s.append("ieor"); }
-	public void AccOperatorAnd.prettyPrint(PrettyPrinter s) { s.append(".and."); }
-	public void AccOperatorOr.prettyPrint(PrettyPrinter s) { s.append(".or."); }
-	public void AccOperatorEqv.prettyPrint(PrettyPrinter s) { s.append(".eqv."); }
-	public void AccOperatorNEqv.prettyPrint(PrettyPrinter s) { s.append(".neqv."); }
-
-	// variable list guys
-	
-	public void AccCopyClause.prettyPrint(PrettyPrinter s) {
-		s.append("copy(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccCopyInClause.prettyPrint(PrettyPrinter s) {
-		s.append("copyin(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccCopyOutClause.prettyPrint(PrettyPrinter s) {
-		s.append("copyout(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccCreateClause.prettyPrint(PrettyPrinter s) {
-		s.append("create(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccDeleteClause.prettyPrint(PrettyPrinter s) {
-		s.append("delete(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccDeviceClause.prettyPrint(PrettyPrinter s) {
-		s.append("device(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccSelfClause.prettyPrint(PrettyPrinter s) {
-		s.append("self(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccHostClause.prettyPrint(PrettyPrinter s) {
-		s.append("host(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccFirstPrivateClause.prettyPrint(PrettyPrinter s) {
-		s.append("firstprivate(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccPresentOrCopyClause.prettyPrint(PrettyPrinter s) {
-		s.append("present_or_copy(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccPresentClause.prettyPrint(PrettyPrinter s) {
-		s.append("present(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccPresentOrCopyInClause.prettyPrint(PrettyPrinter s) {
-		s.append("present_or_copyin(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccPresentOrCopyOutClause.prettyPrint(PrettyPrinter s) {
-		s.append("present_or_copyout(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccPresentOrCreateClause.prettyPrint(PrettyPrinter s) {
-		s.append("present_or_create(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccPrivateClause.prettyPrint(PrettyPrinter s) {
-		s.append("private(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccUseDeviceClause.prettyPrint(PrettyPrinter s) {
-		s.append("use_device(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccDefaultNoneClause.prettyPrint(PrettyPrinter s) {
-		s.append("default(none)");
-	}
-	
-	public void AccDeviceTypeStarClause.prettyPrint(PrettyPrinter s) {
-		s.append("device_type(*)");
-	}
-
-	public void AccDeviceTypeListClause.prettyPrint(PrettyPrinter s) {
-		s.append("device_type(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccTileClause.prettyPrint(PrettyPrinter s) {
-		s.append("tile(");
-        getExprList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-
-	public void AccWaitClause.prettyPrint(PrettyPrinter s) {
-		s.append("wait(");
-        getExprList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccCollapseClause.prettyPrint(PrettyPrinter s) {
-		s.append("collapse(");
-        getCount().prettyPrint(s);
-        s.append(")");
-	}
-	
-	public void AccAsyncClause.prettyPrint(PrettyPrinter s) {
-		s.append("async(");
-        getExpr().prettyPrint(s);
-        s.append(")");
-	}
-	
-	public void AccNumGangsClause.prettyPrint(PrettyPrinter s) {
-		s.append("num_gangs(");
-        getExpr().prettyPrint(s);
-        s.append(")");
-	}
-	
-	public void AccNumWorkersClause.prettyPrint(PrettyPrinter s) {
-		s.append("num_workers(");
-        getExpr().prettyPrint(s);
-        s.append(")");
-	}
-	
-	public void AccVectorLengthClause.prettyPrint(PrettyPrinter s) {
-		s.append("vector_length(");
-        getExpr().prettyPrint(s);
-        s.append(")");
-	}
-	
-	public void AccIndependentClause.prettyPrint(PrettyPrinter s) {
-		s.append("independent");
-	}
-	
-	public void AccGangClause.prettyPrint(PrettyPrinter s) {
-		if (hasNumGangs()) {
-			s.append("gang(");
-            getNumGangs().prettyPrint(s);
-            s.append(")");
-		}
-		else {
-			s.append("gang");
-		}
-	}
-	
-	public void AccWorkerClause.prettyPrint(PrettyPrinter s) {
-		if (hasNumWorkers()) {
-			s.append("worker(");
-            getNumWorkers().prettyPrint(s);
-            s.append(")");
-		}
-		else {
-			s.append("worker");
-		}
-	}
-	
-	public void AccVectorClause.prettyPrint(PrettyPrinter s) {
-		if (hasVectorLength()) {
-			s.append("vector(");
-            getVectorLength().prettyPrint(s);
-            s.append(")");
-		}
-		else {
-			s.append("vector");
-		}
-	}
-	
-	public void AccDeviceResidentClause.prettyPrint(PrettyPrinter s) {
-		s.append("device_resident(");
-		getVariableList().prettyPrintJoin(s, ", ");
-		s.append(")");
-	}
-	
-	public void AccLinkClause.prettyPrint(PrettyPrinter s) {
-		s.append("link(");
-        getVariableList().prettyPrintJoin(s, ", ");
-        s.append(")");
-	}
-	
-	public void AccNoHostClause.prettyPrint(PrettyPrinter s) {
-		s.append("nohost");
-	}
-	
-	public void AccSeqClause.prettyPrint(PrettyPrinter s) {
-		s.append("seq");
-	}
-	
-	public void AccShortloopClause.prettyPrint(PrettyPrinter s) {
-		s.append("shortloop");
-	}
-	
-	public void AccBindStringClause.prettyPrint(PrettyPrinter s) {
-		s.append("bind(");
-        getCharLiteralConstant().prettyPrint(s);
-		s.append(")");
-	}
-	
-	public void AccBindNameClause.prettyPrint(PrettyPrinter s) {
-		s.append("bind(");
-		getName().prettyPrint(s);
-		s.append(")");
-	}
-}
\ No newline at end of file
+  public void AccIfClause.prettyPrint(PrettyPrinter s) {
+    s.append("if(");
+    getCondition().prettyPrint(s);
+    s.append(")");
+  }
+
+  public void AccReductionClause.prettyPrint(PrettyPrinter s) {
+    s.append("reduction(");
+    getAccOperator().prettyPrint(s);
+    s.append(":");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccOperatorPlus.prettyPrint(PrettyPrinter s) { s.append("+"); }
+  public void AccOperatorTimes.prettyPrint(PrettyPrinter s) { s.append("*"); }
+  public void AccOperatorMax.prettyPrint(PrettyPrinter s) { s.append("max"); }
+  public void AccOperatorMin.prettyPrint(PrettyPrinter s) { s.append("min"); }
+  public void AccOperatorIAnd.prettyPrint(PrettyPrinter s) { s.append("iand"); }
+  public void AccOperatorIOr.prettyPrint(PrettyPrinter s) { s.append("ior"); }
+  public void AccOperatorIEor.prettyPrint(PrettyPrinter s) { s.append("ieor"); }
+  public void AccOperatorAnd.prettyPrint(PrettyPrinter s) { s.append(".and."); }
+  public void AccOperatorOr.prettyPrint(PrettyPrinter s) { s.append(".or."); }
+  public void AccOperatorEqv.prettyPrint(PrettyPrinter s) { s.append(".eqv."); }
+  public void AccOperatorNEqv.prettyPrint(PrettyPrinter s) { s.append(".neqv."); }
+
+  // variable list guys
+
+  public void AccCopyClause.prettyPrint(PrettyPrinter s) {
+    s.append("copy(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccCopyInClause.prettyPrint(PrettyPrinter s) {
+    s.append("copyin(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccCopyOutClause.prettyPrint(PrettyPrinter s) {
+    s.append("copyout(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccCreateClause.prettyPrint(PrettyPrinter s) {
+    s.append("create(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccDeleteClause.prettyPrint(PrettyPrinter s) {
+    s.append("delete(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccDeviceClause.prettyPrint(PrettyPrinter s) {
+    s.append("device(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccSelfClause.prettyPrint(PrettyPrinter s) {
+    s.append("self(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccHostClause.prettyPrint(PrettyPrinter s) {
+    s.append("host(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccFirstPrivateClause.prettyPrint(PrettyPrinter s) {
+    s.append("firstprivate(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccPresentOrCopyClause.prettyPrint(PrettyPrinter s) {
+    s.append("present_or_copy(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccPresentClause.prettyPrint(PrettyPrinter s) {
+    s.append("present(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccPresentOrCopyInClause.prettyPrint(PrettyPrinter s) {
+    s.append("present_or_copyin(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccPresentOrCopyOutClause.prettyPrint(PrettyPrinter s) {
+    s.append("present_or_copyout(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccPresentOrCreateClause.prettyPrint(PrettyPrinter s) {
+    s.append("present_or_create(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccPrivateClause.prettyPrint(PrettyPrinter s) {
+    s.append("private(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccUseDeviceClause.prettyPrint(PrettyPrinter s) {
+    s.append("use_device(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccDefaultNoneClause.prettyPrint(PrettyPrinter s) {
+    s.append("default(none)");
+  }
+
+  public void AccDeviceTypeStarClause.prettyPrint(PrettyPrinter s) {
+    s.append("device_type(*)");
+  }
+
+  public void AccDeviceTypeListClause.prettyPrint(PrettyPrinter s) {
+    s.append("device_type(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccTileClause.prettyPrint(PrettyPrinter s) {
+    s.append("tile(");
+    getExprList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccWaitClause.prettyPrint(PrettyPrinter s) {
+    s.append("wait(");
+    getExprList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccCollapseClause.prettyPrint(PrettyPrinter s) {
+    s.append("collapse(");
+    getCount().prettyPrint(s);
+    s.append(")");
+  }
+
+  public void AccAsyncClause.prettyPrint(PrettyPrinter s) {
+    s.append("async(");
+    getExpr().prettyPrint(s);
+    s.append(")");
+  }
+
+  public void AccNumGangsClause.prettyPrint(PrettyPrinter s) {
+    s.append("num_gangs(");
+    getExpr().prettyPrint(s);
+    s.append(")");
+  }
+
+  public void AccNumWorkersClause.prettyPrint(PrettyPrinter s) {
+    s.append("num_workers(");
+    getExpr().prettyPrint(s);
+    s.append(")");
+  }
+
+  public void AccVectorLengthClause.prettyPrint(PrettyPrinter s) {
+    s.append("vector_length(");
+    getExpr().prettyPrint(s);
+    s.append(")");
+  }
+
+  public void AccIndependentClause.prettyPrint(PrettyPrinter s) {
+    s.append("independent");
+  }
+
+  public void AccGangClause.prettyPrint(PrettyPrinter s) {
+    if (hasNumGangs()) {
+      s.append("gang(");
+      getNumGangs().prettyPrint(s);
+      s.append(")");
+    } else {
+      s.append("gang");
+    }
+  }
+
+  public void AccWorkerClause.prettyPrint(PrettyPrinter s) {
+    if (hasNumWorkers()) {
+      s.append("worker(");
+      getNumWorkers().prettyPrint(s);
+      s.append(")");
+    } else {
+      s.append("worker");
+    }
+  }
+
+  public void AccVectorClause.prettyPrint(PrettyPrinter s) {
+    if (hasVectorLength()) {
+      s.append("vector(");
+      getVectorLength().prettyPrint(s);
+      s.append(")");
+    } else {
+      s.append("vector");
+    }
+  }
+
+  public void AccDeviceResidentClause.prettyPrint(PrettyPrinter s) {
+    s.append("device_resident(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccLinkClause.prettyPrint(PrettyPrinter s) {
+    s.append("link(");
+    getVariableList().prettyPrintJoin(s, ", ");
+    s.append(")");
+  }
+
+  public void AccNoHostClause.prettyPrint(PrettyPrinter s) {
+    s.append("nohost");
+  }
+
+  public void AccSeqClause.prettyPrint(PrettyPrinter s) {
+    s.append("seq");
+  }
+
+  public void AccShortloopClause.prettyPrint(PrettyPrinter s) {
+    s.append("shortloop");
+  }
+
+  public void AccBindStringClause.prettyPrint(PrettyPrinter s) {
+    s.append("bind(");
+    getCharLiteralConstant().prettyPrint(s);
+    s.append(")");
+  }
+
+  public void AccBindNameClause.prettyPrint(PrettyPrinter s) {
+    s.append("bind(");
+    getName().prettyPrint(s);
+    s.append(")");
+  }
+}
-- 
GitLab