BAL: Unterschied zwischen den Versionen

Aus bafbal.de
Zur Navigation springen Zur Suche springen
Zeile 13: Zeile 13:
 
*Kommandos werden selbst erstellt, während Prozeduren und Funktionen stets Bestandteil des Frameworks sind.
 
*Kommandos werden selbst erstellt, während Prozeduren und Funktionen stets Bestandteil des Frameworks sind.
 
*Kommandos können auch innerhalb eines anderen Kommandos erstellt werden und haben dann eine Kommandonummer statt eines Kommandonamens, siehe
 
*Kommandos können auch innerhalb eines anderen Kommandos erstellt werden und haben dann eine Kommandonummer statt eines Kommandonamens, siehe
 +
*Kommandos, die von anderen Kommandos aufgerufen werden, werden auch Sub-Kommandos genannt. So wäre z.B. lookup ein Kommando und lookup_sub ein Sub-Kommando.
  
 
==Prozeduren==
 
==Prozeduren==

Version vom 2. November 2020, 21:48 Uhr

Die Sprache BAL

Die Sprache BAL ist sehr simpel aufgebaut und kennt lediglich

  • Kommandos
  • Prozeduren
  • Funktionen
  • Verzweigungen
  • Kommentare

Kommandos

  • Kommandos sind eine Abfolge von Prozeduren, die über den Kommandonamen gemeinsam aufgerufen und in der gegebenen Reihenfolge abgearbeitet werden.
  • Kommandos werden selbst erstellt, während Prozeduren und Funktionen stets Bestandteil des Frameworks sind.
  • Kommandos können auch innerhalb eines anderen Kommandos erstellt werden und haben dann eine Kommandonummer statt eines Kommandonamens, siehe
  • Kommandos, die von anderen Kommandos aufgerufen werden, werden auch Sub-Kommandos genannt. So wäre z.B. lookup ein Kommando und lookup_sub ein Sub-Kommando.

Prozeduren

  • Jede Prozedur und damit jede Befehlszeile beginnt mit einem #-Zeichen.
  • Nach dem Prozedurnamen kommt die Liste der Parameter. Die Parameter sind benannt, ihren Reihenfolge ist beliebig
  • Die Parameter werden durch Leerzeichen getrennt. Beinhalten die Parameterwerte Strings mit Leerzeichen, so sind die Parameterwerte in doppelte Anführungszeichen einzuschließen.
  • Ausnahme: Es gibt Prozeduren wie #sql oder #text, die keine benannten Parameter haben. Der komplette folgende Text nach einem Leerzeichen zwischen Prozedurname und Parameter ist dann der Parameter

Beispiele

#setval  n=1   z="Dies ist ein Test"
#sql  select * from test

Tipps

  • Zwischen den Parameters können auch mehrere Leerzeichen verwendet werden, um sie deutlicher voneinander zu trennen.

Funktionen

  • Funktionen beginnen mit einem Dollarzeichen. Dem Funktionsnamen folgt immer eine Klammer für die Parameter, gegebenenfalls eine leere Klammer.
  • Funktionen geben ein Ergebnis zurück.
  • Funktionen können geschachtelt werden.
  • Nach den Konventionen werden Funktionen in Großbuchstaben geschrieben.

Beispiele

#message  c=$GUID()
#setvar  n=varname  z="$UPP(Dies ist ein Test)"

Verzweigungen

Kommentare

  • Syntaktisch korrekt sind nur Kommentarzeilen, die mit zwei Minuszeichen beginnen. Der Interpreter geht jedoch über alles hinweg, was nicht syntaktisch korrekt ist, von daher können auch syntaktisch unkorrekte Kommentare verwendet werden.
  • Nach einer Zeile, die mit vier Minuszeichen beginnt, wird die komplette Code-Seite beendet. Ein Bereich nach vier Minuszeichen wird häufig dazu verwendet, irgendwelchen Code oder irgendwelche Bemerkungen zu "lagern".

Beispiel

-- Dies ist ein syntaktisch korrekter Kommentar
#setval  n=1   z="Dies ist Test"  -- Dies ist kein syntaktisch korrekter Kommentar, führt aber auch zu keinem Fehler
----
Und das hier wird gar nicht mehr berücksichtigt, da es hinter vier Minuszeichen steht.