// ino.module.MyCompilerAPI.8570.package package de.dhbwstuttgart.core; // ino.end // ino.module.MyCompilerAPI.8570.import import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import de.dhbwstuttgart.typeinference.Menge; import de.dhbwstuttgart.myexception.CTypeReconstructionException; import de.dhbwstuttgart.myexception.JVMCodeException; import de.dhbwstuttgart.parser.JavaParser; import de.dhbwstuttgart.syntaxtree.SourceFile; import de.dhbwstuttgart.typeinference.ByteCodeResult; import de.dhbwstuttgart.typeinference.ResultSet; import de.dhbwstuttgart.typeinference.TypeinferenceResultSet; import de.dhbwstuttgart.typeinference.exceptions.ParserError; import de.dhbwstuttgart.typeinference.exceptions.TypeinferenceException; // 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 SourceFile 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 Menge typeReconstruction() throws NullPointerException, TypeinferenceException; // 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(Menge filenames) throws ParserError; /** * Parst den SourceCode einer Datei. * @param sourceCode - SourceCode einer Java-Quellcodedatei * @return den aus dem sourceCode generierten Syntaxbaum */ public SourceFile parse(String sourceCode) throws ParserError; public ByteCodeResult generateBytecode(); } // ino.end