PureBasic Syntax Regeln

Der Ursprung von PureBasic liegt nicht in der Windowswelt. Daher sind einige Syntax-Konventionen ungewohnt:

Kommentare

Kommentare beginnen mit einem ; und enden am Zeilenende.
Mehrzeilige Kommentare sind nicht vorgesehen.

Konstanten

Konstanten beginnen mit einem # am Anfang des Konstantennamens.

Variablen

Variablen müssen nicht eigens deklariert werden. Sie können einfach beim ersten Auftreten verwendet werden.
Variablennamen dürfen nicht mit einer Zahl beginnen und keine Operatoren ( z.B. +, -, |, & ) und keine Sonderzeichen (ä, ü, usw.) enthalten. Unterstrich ( _ ) ist erlaubt.
Es wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Wird Variablen während der Deklaration kein Wert zugewiesen, ist der Wert 0.
 

VariablenTypen

Der Typ einer Variablen wird durch anhängen eine Punkts und eines TypZeichens festgelegt:

Variable.l = Typ Long ( 32 Bit Integer)

Variable.i = Typ Integer ( bei 32 Bit-Systemen 32 Bit Integer, bei 64 Bit-Systemen 64 Bit Integer)

Wird kein Typ angegeben ist hat die Variable automatisch den Typ Integer mit den oben genannten Regeln.

Strings können durch das Postfix .s oder durch ein $ deklariert werden.

String$ oder String.s

Liste mit allen Typen in Purebasic

Zeiger

Zeiger (Pointer) werden durch ein Vorangestelltes * deklariert.

*PointerAufVariable

Ein Pointer darf keine Typzuweisung erhalten.
Der Asterisk (*) ist Bestandteil des Pointernamens. *Ptr und Ptr sind zwei verschiedene Variablen.
 

Functionen und Proceduren

In Purebasic wird syntaktisch nicht zwischen Functionen und Proceduren unterschieden.
Für beides gibt es das Schlüsselwort Procedure.
Für die Funktionalität einer Function, also das die Procedure einen Rückgabewert liefert wird innerhalb der Procdure das Schlüsselwort ProcedureReturn gefolgt vom Wert der zurückgegeben werden soll.
Der Typ des Rückgabewert ist ohne Angabe ein Integer, kann aber durch ein an das Schlüsselwort Procedure angehängtes Typ-Postfix (analog zu den Variablen) definiert werden.

; Procdure ohne Rückgabe
Procedure Test(Parameter)
 ;
Endprocedure
;
;Procedure mit Stringrückgabe
Procedure.s TestString(Parameter.s)
 ;
 ProcedureReturn Parameter.s
 ;
EndProcedure

Die Procedure wird mit den Schlüsselwort ProcedureReturn sofort verlassen.