## 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.