// ino.module.MyCompilerAPI.8570.package package mycompiler; // ino.end // ino.module.MyCompilerAPI.8570.import import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Vector; import mycompiler.myexception.CTypeReconstructionException; import mycompiler.myexception.JVMCodeException; import mycompiler.myparser.JavaParser; import mycompiler.mytypereconstruction.TypeinferenceResultSet; // ino.end // ino.class.MyCompilerAPI.21328.description type=javadoc /** * Schnittstellen-Klasse zum Compiler. Diese Klasse soll der * IDE als Compiler-API zum Kompilieren einer Quellcode-Datei * dienen und stellt somit die Schnittstelle zur Studienarbeit * von Markus Melzer (Eclipse-Plugin) dar. * @author Jörg Bäuerle * @version $Date: 2013/09/09 11:04:24 $ */ // ino.end // ino.class.MyCompilerAPI.21328.declaration public interface MyCompilerAPI // ino.end // ino.class.MyCompilerAPI.21328.body { // ino.method.init.21331.decldescription type=javadoc /** * Author: Jörg Bäuerle
* Initialisiert den Compiler */ // ino.end // ino.method.init.21331.declaration public void init(); // ino.end // ino.method.parse.21334.decldescription type=javadoc /** * Author: Jörg Bäuerle
* Parst eine Quellcodedatei und baut den abstrakten Syntaxbaum auf. * @param file Die Quellcode-Datei * @throws FileNotFoundException Wenn die Quellcode-Datei nicht existiert. * @throws IOException Wenn was schief läuft. * @throws JavaParser.yyException Wenn ein Fehler beim Parsen auftritt. */ // ino.end // ino.method.parse.21334.declaration public void parse(File file) throws FileNotFoundException, IOException, JavaParser.yyException; // ino.end // ino.method.parse.21337.decldescription type=javadoc /** * Author: Jörg Bäuerle
* Parst einen String und baut den abstrakten Syntaxbaum auf. * @param srcCode Der zu parsende Quellcode * @throws IOException Wenn was schief läuft. * @throws JavaParser.yyException Wenn ein Fehler beim Parsen auftritt. // ino.end // ino.method.parse.21337.declaration public void parse(String srcCode) throws IOException, JavaParser.yyException; // ino.end */ // ino.method.typeReconstruction.21340.decldescription type=javadoc /** * Author: Jörg Bäuerle
* Ruft den Typrekonstruktionsalgorithmus auf. * @return Die Menge aller möglichen Typkombinationen * @throws NullPointerException Wenn noch kein abstrakter Syntaxbaum vorhanden * ist. @throws CTypeReconstructionException Wenn ein Fehler bei der * Typrekonstruktion auftritt. */ // ino.end // ino.method.typeReconstruction.21340.declaration public Vector typeReconstruction() throws NullPointerException, CTypeReconstructionException; // ino.end // ino.method.codeGeneration.21346.decldescription type=javadoc /** * Author: Jörg Bäuerle
* Generiert den Bytecode und das Class-File für den Syntaxbaum. * @param syntaxTree Der Syntaxbaum * @throws NullPointerException Wenn noch kein abstrakter Syntaxbaum vorhanden * ist. @throws JVMCodeException */ // ino.end // ino.method.codeGeneration.21346.declaration public void codeGeneration() throws NullPointerException, JVMCodeException; // ino.end // ino.method.setOutputDir.21349.decldescription type=javadoc /** * Author: Juergen Schmiing
* Legt das Ausgabeverzeichnis fuer die class-Files fest. */ // ino.end // ino.method.setOutputDir.21349.declaration public void setOutputDir(String dir); // ino.end // ino.method.getOutputDir.21352.decldescription type=javadoc /** * Author: Juergen Schmiing
* Gibt das Ausgabeverzeichnis fuer die class-Files zurueck. */ // ino.end // ino.method.getOutputDir.21352.declaration public String getOutputDir(); // ino.end /** * Parst zusammenhängende JavaKlassen in verschiedenen Dateien. * @param filenames - Eine Liste von Quellcodedateien, welche gseparst werden sollen */ public void parse(Vector filenames); } // ino.end