sota.lang.java.ast.util
Class JavaASCFormatter

java.lang.Object
  extended by sota.lang.java.ast.util.JavaASCFormatter

public class JavaASCFormatter
extends java.lang.Object

Übernimmt die Formattierung der Instrumentationsanweisungen nach einem einheilichen Schema.


Field Summary
private static java.lang.String BOOLVARHEAD
          der Präfix der boolschen Variablen
private static java.lang.String ENDCOMMENT
          das Ende eines Kommentars
private static java.lang.String INTRO0
          die erste (und dritte) Introzeile
private static java.lang.String INTRO1
          die zweite Introzeile
private static java.lang.String LOGFUNCTION
          der Name der Logfunktion
private static java.lang.String NL
          Linebreak-Zeichen
private static java.lang.String PATHIDVAR
          der Name der Variablen, die den Zeitstempel liefert
private static java.lang.String PREFIX
          der Präfix für eine Kommentarzeile
private static java.lang.String STARTCOMMENT
          der Beginn eines Kommentars
private static java.lang.String TAB
          Tabulator-Zeichen
private static java.lang.String TSFUNCTION
          der Name der Funktion, die den Zeitstempel liefert
 
Constructor Summary
JavaASCFormatter()
           
 
Method Summary
private static java.lang.String comment(java.lang.String s)
          Liefert den String, der einen Kommentar einfasst.
static java.lang.String conditionsToASCString(Condition c)
          Liefert die String-Darstellung einer Bedingung.
static java.lang.String declarationOfBooleans(int nrPrimaryConditions, java.util.Vector<java.lang.Integer> nrAtoms)
          Deklariert am Funktionsanfang die nötigen Variablen.
static java.lang.String endCompound()
          Liefert den String, der einen Block beendet.
static java.lang.String getBooleanName(Condition c)
          Liefert den String für den Variablennamen zur Auswertung einer Bedingung.
static java.lang.String getBooleanName(Condition c, int a)
          Liefert den String für den Variablennamen zur Auswertung einer Bedingung.
static java.lang.String insert(java.lang.String s)
          Liefert den String, der eine Quellcodezeile einfügt.
static java.lang.String insert(java.lang.String s, java.lang.String suffix)
          Liefert den String, der eine Quellcodezeile mit Kommentar einfügt.
static java.lang.String insertASCLoggerImport()
          Fügt den Logger-Import in die Datei ein.
static java.lang.String insertComment(java.lang.String comment)
          Liefert den String, der einen Kommentar in den Quellcode einfügt
static java.lang.String insertForInit(java.lang.String s)
          Liefert den For-Init-String.
static java.lang.String insertForUpdate(java.lang.String s)
          Liefert den For-Update-String.
static java.lang.String insertIfStatement(java.lang.String prefix, Condition cond, java.lang.String postfix, java.lang.String suffix)
          Liefert den String für die Auswertung von If-Knoten.
static java.lang.String insertIntro()
          Erstellt das Intro der Datei.
static java.lang.String insertPIDInit()
          Liefert den String zur Defintion der Pfadvariablen (Zeitstempel).
private static java.lang.String[] logAtoms(Condition cond)
          Liefert rekursiv analysierte Logkommandos - s[0] liefert die Variablenauswertung, s[1] liefert die Logstrings - dazwischen muss für Schleifenupdate der iteratingNode geloggt werden!
static java.lang.String logCondition(int id, java.lang.String suffix, Condition cond)
          Liefert einen String mit analysierten Logkommandos für einen ConditionNode.
static java.lang.String logId(int id, java.lang.String suffix)
          Liefert den Log-String für eine ID.
static java.lang.String startCompound()
          Liefert den String, der einen Block beginnt.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BOOLVARHEAD

private static final java.lang.String BOOLVARHEAD
der Präfix der boolschen Variablen

See Also:
Constant Field Values

ENDCOMMENT

private static final java.lang.String ENDCOMMENT
das Ende eines Kommentars

See Also:
Constant Field Values

INTRO0

private static final java.lang.String INTRO0
die erste (und dritte) Introzeile

See Also:
Constant Field Values

INTRO1

private static final java.lang.String INTRO1
die zweite Introzeile

See Also:
Constant Field Values

LOGFUNCTION

private static final java.lang.String LOGFUNCTION
der Name der Logfunktion

See Also:
Constant Field Values

NL

private static final java.lang.String NL
Linebreak-Zeichen

See Also:
Constant Field Values

PATHIDVAR

private static final java.lang.String PATHIDVAR
der Name der Variablen, die den Zeitstempel liefert

See Also:
Constant Field Values

PREFIX

private static final java.lang.String PREFIX
der Präfix für eine Kommentarzeile

See Also:
Constant Field Values

STARTCOMMENT

private static final java.lang.String STARTCOMMENT
der Beginn eines Kommentars

See Also:
Constant Field Values

TAB

private static final java.lang.String TAB
Tabulator-Zeichen

See Also:
Constant Field Values

TSFUNCTION

private static final java.lang.String TSFUNCTION
der Name der Funktion, die den Zeitstempel liefert

See Also:
Constant Field Values
Constructor Detail

JavaASCFormatter

public JavaASCFormatter()
Method Detail

comment

private static java.lang.String comment(java.lang.String s)
Liefert den String, der einen Kommentar einfasst.

Parameters:
s - der Kommentar
Returns:
der erstellte String

conditionsToASCString

public static java.lang.String conditionsToASCString(Condition c)
Liefert die String-Darstellung einer Bedingung.

Parameters:
c - die Bedingung
Returns:
der erstellte String

declarationOfBooleans

public static java.lang.String declarationOfBooleans(int nrPrimaryConditions,
                                                     java.util.Vector<java.lang.Integer> nrAtoms)
Deklariert am Funktionsanfang die nötigen Variablen.

Parameters:
nrPrimaryConditions - die Anzahl an primären Bedingungen
nrAtoms - die Anzahl an Atomen
Returns:
der erstellte String

endCompound

public static java.lang.String endCompound()
Liefert den String, der einen Block beendet.

Returns:
der erstellte String

getBooleanName

public static java.lang.String getBooleanName(Condition c)
Liefert den String für den Variablennamen zur Auswertung einer Bedingung.

Parameters:
c - die Bedingung
Returns:
der erstellte String

getBooleanName

public static java.lang.String getBooleanName(Condition c,
                                              int a)
Liefert den String für den Variablennamen zur Auswertung einer Bedingung.

Parameters:
c - die Bedingung
a - der Index
Returns:
der erstellte String

insert

public static java.lang.String insert(java.lang.String s)
Liefert den String, der eine Quellcodezeile einfügt.

Parameters:
s - der einzufügende String
Returns:
der erstellte String

insert

public static java.lang.String insert(java.lang.String s,
                                      java.lang.String suffix)
Liefert den String, der eine Quellcodezeile mit Kommentar einfügt.

Parameters:
s - der einzufügende String
suffix - der Kommentar
Returns:
der erstellte String

insertASCLoggerImport

public static java.lang.String insertASCLoggerImport()
Fügt den Logger-Import in die Datei ein.

Returns:
der erstellte String

insertComment

public static java.lang.String insertComment(java.lang.String comment)
Liefert den String, der einen Kommentar in den Quellcode einfügt

Parameters:
comment - der Kommentar
Returns:
der erstellte String

insertForInit

public static java.lang.String insertForInit(java.lang.String s)
Liefert den For-Init-String.

Parameters:
s - der Initialisierungsausdruck
Returns:
der erstellte String

insertForUpdate

public static java.lang.String insertForUpdate(java.lang.String s)
Liefert den For-Update-String.

Parameters:
s - die Update-Anweisung
Returns:
der erstellte String

insertIfStatement

public static java.lang.String insertIfStatement(java.lang.String prefix,
                                                 Condition cond,
                                                 java.lang.String postfix,
                                                 java.lang.String suffix)
Liefert den String für die Auswertung von If-Knoten.

Parameters:
prefix - der Prefix der Auswertung - "if("
cond - die Bedingung
postfix - der Postfix der Auswertung - ")"
suffix - der Kommentar für diese Quellcodezeile
Returns:
der erstellte String

insertIntro

public static java.lang.String insertIntro()
Erstellt das Intro der Datei.

Returns:
der erstellte String

insertPIDInit

public static java.lang.String insertPIDInit()
Liefert den String zur Defintion der Pfadvariablen (Zeitstempel).

Returns:
der erstellte String

logAtoms

private static java.lang.String[] logAtoms(Condition cond)
Liefert rekursiv analysierte Logkommandos - s[0] liefert die Variablenauswertung, s[1] liefert die Logstrings - dazwischen muss für Schleifenupdate der iteratingNode geloggt werden!

Parameters:
cond - die Bedingung
Returns:
der erstellte String

logCondition

public static java.lang.String logCondition(int id,
                                            java.lang.String suffix,
                                            Condition cond)
Liefert einen String mit analysierten Logkommandos für einen ConditionNode.

Parameters:
id - die zu loggende ID
suffix - der erläuternde Kommentar, z.b. die ID
cond - die Bedingung
Returns:
der erstellte String

logId

public static java.lang.String logId(int id,
                                     java.lang.String suffix)
Liefert den Log-String für eine ID.

Parameters:
id - die zu loggende ID
suffix - ein Kommentar als Suffix
Returns:
der erstellte String

startCompound

public static java.lang.String startCompound()
Liefert den String, der einen Block beginnt.

Returns:
der erstellte String