mycompiler
Class MyCompiler

java.lang.Object
  extended by mycompiler.MyCompiler
All Implemented Interfaces:
MyCompilerAPI

public class MyCompiler
extends java.lang.Object
implements MyCompilerAPI


Field Summary
static int ALL_INFO
           
static int DebugLevel
           
static int GENERAL_INFO
           
static int NO_INFO
           
static int NO_LINENUMBER
           
static int PARSER_INFO
           
static int SCANNER_INFO
           
static int SEMANTIC_INFO
           
static int TYPE_ANALYSIS_INFO
           
static int UNIFICATION_INFO
           
 
Method Summary
 void codeGeneration()
          Author: J�rg B�uerle
Generiert den Bytecode und das Class-File f�r den Syntaxbaum.
static MyCompilerAPI getAPI()
          Author: J�rg B�uerle
Stellt eine neue Instanz der CompilerAPI zur Verf�gung.
 SourceFile getSyntaxTree()
          Author: J�rg B�uerle
Liefert den geparsten Syntaxbaume zur�ck.
 void init()
          Author: J�rg B�uerle
Initialisiert den Compiler
static void main(java.lang.String[] args)
          Author: J�rg B�uerle
Die Main-Funktion, �ber die der Compiler auch per Konsole gestartet werden kann.
 void parse(java.io.File file)
          Author: J�rg B�uerle
Ruft die Parse-Methode.
 void parse(java.lang.String srcCode)
          Author: J�rg B�uerle
Ruft die Parse-Methode.
static void printDebugInfo(java.lang.String str1, int nLevel)
          Author: J�rg B�uerle
Von meinen Vorg�ngern eingesetzte Methode zur Ausgabe von diferenzierten Debug-Ausgaben.
 void semanticCheck()
          Author: J�rg B�uerle
Ruft �ber SourceFile.sc_check(false) den alten 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_INFO

public static final int NO_INFO
See Also:
Constant Field Values

ALL_INFO

public static final int ALL_INFO
See Also:
Constant Field Values

GENERAL_INFO

public static final int GENERAL_INFO
See Also:
Constant Field Values

SCANNER_INFO

public static final int SCANNER_INFO
See Also:
Constant Field Values

PARSER_INFO

public static final int PARSER_INFO
See Also:
Constant Field Values

SEMANTIC_INFO

public static final int SEMANTIC_INFO
See Also:
Constant Field Values

TYPE_ANALYSIS_INFO

public static final int TYPE_ANALYSIS_INFO
See Also:
Constant Field Values

UNIFICATION_INFO

public static final int UNIFICATION_INFO
See Also:
Constant Field Values

NO_LINENUMBER

public static final int NO_LINENUMBER
See Also:
Constant Field Values

DebugLevel

public static int DebugLevel
Method Detail

getAPI

public static MyCompilerAPI getAPI()
Author: J�rg B�uerle
Stellt eine neue Instanz der CompilerAPI zur Verf�gung. Diese Methode sollte von der IDE aus aufgerufen werden, um eine Quellcode-Datei zu kompilieren.

Returns:
Die Compiler-API

printDebugInfo

public static void printDebugInfo(java.lang.String str1,
                                  int nLevel)
Author: J�rg B�uerle
Von meinen Vorg�ngern eingesetzte Methode zur Ausgabe von diferenzierten Debug-Ausgaben.

Parameters:
str1 - Die Debug-Ausgabe
nLevel - Der DebugLevel

init

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

Specified by:
init in interface MyCompilerAPI

setDebugLevel

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

Specified by:
setDebugLevel in interface MyCompilerAPI
Parameters:
debugLevel - Debug-Level
Returns:
true wenn ein korrekter Wert �bergeben worden ist, false sonst.

parse

public void parse(java.io.File file)
           throws java.io.FileNotFoundException,
                  java.io.IOException,
                  JavaParser.yyException
Author: J�rg B�uerle
Ruft die Parse-Methode.

Specified by:
parse in interface MyCompilerAPI
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

public void parse(java.lang.String srcCode)
           throws java.io.IOException,
                  JavaParser.yyException
Author: J�rg B�uerle
Ruft die Parse-Methode.

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

semanticCheck

public void semanticCheck()
                   throws java.lang.NullPointerException,
                          SCException
Author: J�rg B�uerle
Ruft �ber SourceFile.sc_check(false) den alten Semantik-Check ohne Typrekonstruktion auf.

Specified by:
semanticCheck in interface MyCompilerAPI
Throws:
java.lang.NullPointerException - Wenn noch kein abstrakter Syntaxbaum vorhanden ist.
SCException - Wenn ein Fehler beim Semantik-Check auftritt.

typeReconstruction

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

Specified by:
typeReconstruction in interface MyCompilerAPI
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

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

Specified by:
getSyntaxTree in interface MyCompilerAPI
Returns:
Die Syntaxb�ume
Throws:
java.lang.NullPointerException - Wenn noch keine Syntaxb�ume berechnet worden sind.

codeGeneration

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

Specified by:
codeGeneration in interface MyCompilerAPI
Throws:
java.lang.NullPointerException - Wenn noch kein abstrakter Syntaxbaum vorhanden ist.

main

public static void main(java.lang.String[] args)
Author: J�rg B�uerle
Die Main-Funktion, �ber die der Compiler auch per Konsole gestartet werden kann.

Parameters:
args - Die Konsolen-Parameter