mycompiler
Interface MyCompilerAPI

All Known Implementing Classes:
MyCompiler

public interface MyCompilerAPI

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.

Version:
$Date: 2005/06/28 19:19:09 $
Author:
J�rg B�uerle

Method Summary
 void codeGeneration()
          Author: J�rg B�uerle
Generiert den Bytecode und das Class-File f�r den Syntaxbaum.
 SourceFile getSyntaxTree()
          Author: J�rg B�uerle
Liefert den geparsten Syntaxbaum zur�ck.
 void init()
          Author: J�rg B�uerle
Initialisiert den Compiler
 void parse(java.io.File file)
          Author: J�rg B�uerle
Parst eine Quellcodedatei und baut den abstrakten Syntaxbaum auf.
 void parse(java.lang.String srcCode)
          Author: J�rg B�uerle
Parst einen String und baut den abstrakten Syntaxbaum auf.
 void semanticCheck()
          Author: J�rg B�uerle
Ruft den Semantik-Check ohne Typrekonstruktion auf.
 boolean setDebugLevel(int debugLevel)
          Author: J�rg B�uerle
Setzt den Debug-Level
 de.dhbwstuttgart.typeinference.Menge<CTypeReconstructionResult> typeReconstruction()
          Author: J�rg B�uerle
Ruft den Typrekonstruktionsalgorithmus auf.
 

Method Detail

init

void init()
Author: J�rg B�uerle
Initialisiert den Compiler


setDebugLevel

boolean setDebugLevel(int debugLevel)
Author: J�rg B�uerle
Setzt den Debug-Level

Parameters:
debugLevel - Debug-Level
Returns:
true wenn ein korrekter Wert �bergeben worden ist, false sonst.

parse

void parse(java.io.File file)
           throws java.io.FileNotFoundException,
                  java.io.IOException,
                  JavaParser.yyException
Author: J�rg B�uerle
Parst eine Quellcodedatei und baut den abstrakten Syntaxbaum auf.

Parameters:
file - Die Quellcode-Datei
Throws:
java.io.FileNotFoundException - Wenn die Quellcode-Datei nicht existiert.
java.io.IOException - Wenn was schief l�uft.
JavaParser.yyException - Wenn ein Fehler beim Parsen auftritt.

parse

void parse(java.lang.String srcCode)
           throws java.io.IOException,
                  JavaParser.yyException
Author: J�rg B�uerle
Parst einen String und baut den abstrakten Syntaxbaum auf.

Parameters:
srcCode - Der zu parsende Quellcode
Throws:
java.io.IOException - Wenn was schief l�uft.
JavaParser.yyException - Wenn ein Fehler beim Parsen auftritt.

semanticCheck

void semanticCheck()
                   throws java.lang.NullPointerException,
                          SCException
Author: J�rg B�uerle
Ruft den Semantik-Check ohne Typrekonstruktion auf. Diese Methode sollte nicht mehr verwendet werden. Es wird nicht gew�hrleistet, dass sie korrekt arbeitet.
Stattdessen sollte besser die Methode \code{typeReconstruction()} verwendet werden.

Throws:
java.lang.NullPointerException - Wenn noch kein abstrakter Syntaxbaum vorhanden ist.
SCException - Wenn ein Fehler beim Semantik-Check auftritt.

typeReconstruction

de.dhbwstuttgart.typeinference.Menge<CTypeReconstructionResult> typeReconstruction()
                                                               throws java.lang.NullPointerException,
                                                                      CTypeReconstructionException
Author: J�rg B�uerle
Ruft den Typrekonstruktionsalgorithmus auf.

Returns:
Die Menge aller m�glichen Typkombinationen
Throws:
java.lang.NullPointerException - Wenn noch kein abstrakter Syntaxbaum vorhanden ist.
CTypeReconstructionException - Wenn ein Fehler bei der Typrekonstruktion auftritt.

getSyntaxTree

SourceFile getSyntaxTree()
                         throws java.lang.NullPointerException
Author: J�rg B�uerle
Liefert den geparsten Syntaxbaum zur�ck.

Returns:
Die Syntaxb�ume
Throws:
java.lang.NullPointerException - Wenn noch kein Syntaxbaum berechnet worden ist.

codeGeneration

void codeGeneration()
                    throws java.lang.NullPointerException
Author: J�rg B�uerle
Generiert den Bytecode und das Class-File f�r den Syntaxbaum.

Parameters:
syntaxTree - Der Syntaxbaum
Throws:
java.lang.NullPointerException - Wenn noch kein abstrakter Syntaxbaum vorhanden ist.