From e4624ac27ff11eacc3b700f11d1ab22be2e16b78 Mon Sep 17 00:00:00 2001 From: Sven Robertz <sven@cs.lth.se> Date: Wed, 2 Nov 2011 16:42:44 +0100 Subject: [PATCH] applied old patch for block structure in the generated code fixing name clashes --- CS_CodeGen.jrag | 20 ++++++++++++++++---- Java_CodeGen.jrag | 20 ++++++++++++++++---- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/CS_CodeGen.jrag b/CS_CodeGen.jrag index dcfeddc..aef757e 100644 --- a/CS_CodeGen.jrag +++ b/CS_CodeGen.jrag @@ -23,6 +23,10 @@ aspect CS_CodeGenEnv { public CS_printer(File f) { file = f; + File parentFile = f.getParentFile(); + if(parentFile != null) { + parentFile.mkdirs(); + } } public CS_printer(PrintStream out) { @@ -140,6 +144,16 @@ aspect CS_CodeGenEnv { println("}"); } + public void print_block_begin() { + println("{"); + indent(); + } + + public void print_block_end() { + unindent(); + println("}"); + } + public String getUnique(Object o) { String result = (String)unique.get(o); if (result == null) { @@ -419,8 +433,7 @@ aspect CS_Class { for (int i = 0 ; i < getNumExp() ; i++) { String limit = getExp(i).CS_emitEncoder(env, name + ".GetLength(" + i + ")"); - env.println("{"); - env.indent(); + env.print_block_begin(); env.println("int i_" + (baseDepth + i) + "_max = " + limit + ";"); } String index = null; @@ -435,9 +448,8 @@ aspect CS_Class { getType().CS_emitEncoder(env, name + "[" + index + "]"); for (int i = 0 ; i < getNumExp() ; i++) { env.print_for_end(); + env.print_block_end(); } - env.unindent(); - env.println("}"); } public String Exp.CS_emitEncoder(CS_env env, String name) { diff --git a/Java_CodeGen.jrag b/Java_CodeGen.jrag index b614e03..40c0e1b 100644 --- a/Java_CodeGen.jrag +++ b/Java_CodeGen.jrag @@ -23,6 +23,10 @@ aspect Java_CodeGenEnv { public Java_printer(File f) { file = f; + File parentFile = f.getParentFile(); + if(parentFile != null) { + parentFile.mkdirs(); + } } public Java_printer(PrintStream out) { @@ -140,6 +144,16 @@ aspect Java_CodeGenEnv { println("}"); } + public void print_block_begin() { + println("{"); + indent(); + } + + public void print_block_end() { + unindent(); + println("}"); + } + public String getUnique(Object o) { String result = (String)unique.get(o); if (result == null) { @@ -445,8 +459,7 @@ aspect Java_Class { String prefix = ""; for (int i = 0 ; i < getNumExp() ; i++) { String limit = getExp(i).Java_emitEncoder(env, name + prefix); - env.println("{"); - env.indent(); + env.print_block_begin(); env.println("int i_" + (baseDepth + i) + "_max = " + limit + ";"); prefix = prefix + "[0]"; } @@ -457,9 +470,8 @@ aspect Java_Class { getType().Java_emitEncoder(env, name); for (int i = 0 ; i < getNumExp() ; i++) { env.print_for_end(); + env.print_block_end(); } - env.unindent(); - env.println("}"); } public String Exp.Java_emitEncoder(Java_env env, String name) { -- GitLab