3
3
import java .io .BufferedInputStream ;
4
4
import java .io .BufferedOutputStream ;
5
5
import java .io .File ;
6
+ import java .io .FileWriter ;
6
7
import java .io .InputStream ;
7
8
import java .io .OutputStream ;
8
9
import java .nio .file .Files ;
@@ -96,6 +97,8 @@ public static CompileResult generate(
96
97
File javaFileExeT = new File (dirTraduzione + File .separator + name + "_Exe.java" );
97
98
File javaFileASMT = new File (dirTraduzione + File .separator + name + "_ASM.java" );
98
99
100
+ File parserSupport = new File (dir .getPath () + File .separator + "parserSupport" + ".txt" );
101
+
99
102
deleteExisting (javaFile );
100
103
deleteExisting (javaFileCompilazione );
101
104
deleteExisting (javaFileExe );
@@ -105,6 +108,7 @@ public static CompileResult generate(
105
108
deleteExisting (javaFileASMT );
106
109
deleteExisting (javaFileT );
107
110
deleteExisting (javaFileExeT );
111
+ deleteExisting (parserSupport );
108
112
109
113
System .out .println ("\n \n ===" + name + " ===================" );
110
114
@@ -127,6 +131,15 @@ public static CompileResult generate(
127
131
jGenerator .compileAndWrite (model .getMain (), javaFileASMN .getCanonicalPath (), userOptions );
128
132
jGeneratorASM .compileAndWrite (model .getMain (), javaFileASMT .getCanonicalPath (), userOptions );
129
133
134
+ // Parser support
135
+ StringBuffer stepArgs = new StringBuffer ();
136
+ jGeneratorASM .setMonitoredArgs (model .getMain (), stepArgs );
137
+ FileWriter fileWriter = new FileWriter (parserSupport );
138
+ fileWriter .write (stepArgs .toString ().
139
+ replaceAll ("\t " ,"" ).
140
+ replaceFirst (" " + System .lineSeparator (),"" ));
141
+ fileWriter .close ();
142
+
130
143
} catch (Exception e ) {
131
144
e .printStackTrace ();
132
145
return new CompileResult (false , e .getMessage ());
@@ -136,6 +149,7 @@ public static CompileResult generate(
136
149
System .out .println ("Generated java file: " + javaFileCompilazione .getCanonicalPath ());
137
150
System .out .println ("Generated java file: " + javaFileExeN .getCanonicalPath ());
138
151
System .out .println ("Generated ASM java file: " + javaFileASMN .getCanonicalPath ());
152
+ System .out .println ("Generated parser support file: " + parserSupport .getCanonicalPath ());
139
153
140
154
System .out .println ("Generated java file for the execution: " + javaFileExe .getCanonicalPath ());
141
155
@@ -144,7 +158,7 @@ public static CompileResult generate(
144
158
exportFile (javaFile , outputFolder );
145
159
exportFile (javaFileExe , outputFolder );
146
160
exportFile (javaFileASM , outputFolder );
147
-
161
+ exportFile ( parserSupport , outputFolder );
148
162
149
163
CompileResult result = CompilatoreJava .compile (name + ".java" , dir , true );
150
164
0 commit comments