Präprozessor (Luna-Quelltext)

Der Präprozessor ist ein Teil des Compilers, der den Sourcecode für den Kompilier- und Assembliervorgang vorverarbeitet. Im Luna-Compiler existieren zwei Präprozessoren. Einmal für den Luna- und einmal für den Assembler-Quelltext.

Im Präprozessor werden folgende Teilbereiche bearbeitet:

  • Auflösung von arithmetischen und logischen Ausdrücken mit Konstanten.
  • Bedingte Einbindung von Code-Bereichen.
  • Einbinden von externen Sourcedateien und -Daten
  • Textersetzungen von Definitionen/Makros im Sourcecode.
  • Auflösung von Inline-Funktionen.

Präprozessorfunktionen im Luna-Code

Anweisungen

Funktionen

  • Defined() - Prüfen ob eine Konstante oder ein Symbol definiert ist.
  • lo8() bzw. low() - Low-Byte eines 16-Bit-Wertes
  • hi8() bzw. high() - High-Byte eines 16-Bit-Wertes
  • byte1() - 1. Byte eines 32-Bit-Wertes
  • byte2() - 2. Byte eines 32-Bit-Wertes
  • byte3() - 3. Byte eines 32-Bit-Wertes
  • byte4() - 4. Byte eines 32-Bit-Wertes
  • byte() - Typcasting auf 8-Bit-Integer.
  • int8() - Typcasting auf 8-Bit-Integer mit Vorzeichen.
  • word() - Typcasting auf 16-Bit-Integer.
  • integer() - Typcasting auf 16-Bit-Integer mit Vorzeichen.
  • int24() - Typcasting auf 24-Bit-Integer mit Vorzeichen.
  • uint24() - Typcasting auf 24-Bit-Integer.
  • long() - Typcasting auf 32-Bit-Integer.
  • longint() - Typcasting auf 32-Bit-Integer mit Vorzeichen.
  • single() - Typcasting auf 32-Bit-Float mit Vorzeichen.
  • float() - Typcasting auf 32-Bit-Float mit Vorzeichen.
  • odd() - Prüfen ob Wert ungerade.
  • even() - Prüfen ob Wert gerade.
  • chr() - Umwandlung nach Binärstring (byte).
  • mkb() - Umwandlung nach Binärstring (byte).
  • mki() - Umwandlung nach Binärstring (integer).
  • mkw() - Umwandlung nach Binärstring (word).
  • mkl() - Umwandlung nach Binärstring (long).
  • mks() - Umwandlung nach Binärstring (single).
  • strfill() - String auffüllen mit Zeichenkette.
  • hex() - Konvertierung nach Hexadezimaldarstellung.
  • str() - Konvertierung nach Dezimaldarstellung.
  • bin() - Konvertierung nach Binärdarstellung.
  • asc() - Umwandlung des ersten Zeichens einer Zeichenkette in sein numerisches Equivalent.
  • min() - Arithmetische Funktion.
  • max() - Arithmetische Funktion.
  • left() - Linken Teil eines Textes lesen (String).
  • right() - Rechten Teil eines Textes lesen (String).
  • mid() - Teil eines Textes lesen (String).
  • format() - Formatierte, dezimale Zahlendarstellung.
  • nthfield() - Teil einer separierten Zeichenkette.
  • val() - Zeichenkette mit Dezimalzahl zu Integerwert konvertieren.