| |
|
|
- Seite 1 - |
|
|
|
| |
|
|
| |
|
- Seite 17 - |
|
|
Andreas Miethe
| So genau kenne ich XPSE eigentlich nicht.
Mal sehen was sich da machen lässt. |
|
|
| XProfan X2Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 20.02.2013 ▲ |
|
|
|
|
Julian Schmidt | Danke das du es dir Anschaust! Das wichtigste ist meiner Meinung erstmal das Erkennen von Geschweiften Klammern. Ob das Highlighting funktioniert ist nebensächlich. Hauptsache es wird korrekt eingerückt. Hier kurz die Syntax [...] |
|
|
| |
|
|
|
| Vlt. kann ich da bisl helfen, vieles erkläre ich auch hier unter Syntax: [...]
XPSE untersützt seither für XProfan-Code die sog. "C-Style"-Syntax, ein paar Kleinigkeiten davon hat hat Roland auch schon übernommen - wie z.B. umgreifende Remarks per /* zeile, zeile, ... */ sowie Zeilenende- Remarks per //
Dazu kommt, dass man mit dem Semikolon auch Befehlszeilen trennen kann, wie in fast allen üblichen Sprachen. Hierbei wird auch auf Befehle geachtet, die das Semikolon als Parametertrennzeichen benötigen.
Mit den geschweiften Klammern kann man ebenso Anweisungen voneinander trennen z.B. um Befehlsblöcke nach if, ifnot, proc, nproc, subclassproc, while, whilenot, repeat zu deklarieren.
Im Prinzip so einzurücken wie die hiesige Quelltextvorschau rückt: KompilierenMarkierenSeparieren Zu beachten wäre vlt. dass auch dies möglich ist: KompilierenMarkierenSeparieren Und vlt. als Besonderheit zu beachten dass man Procs auch so deklarieren kann: KompilierenMarkierenSeparieren da das Schlüsselwort "Proc" hier unnötig ist da es sich ja nur um eine Proc handeln kann. So geht auch: KompilierenMarkierenSeparieren Für Funktionsparameter gibt es auch die C-Typische Schreibweise: KompilierenMarkierenSeparieren Dann gibt es noch das Schlüsselwort const für "schnelle" Konstanten bzw. Konstanten die "schneller" sind als die mit Def deklarierten: KompilierenMarkierenSeparieren Mit dem Schlüsselwort include kann man Quelltextdateien, Headerdateien und Units inkludieren, quasi als Ersatz zu $ph $i $u - also nur 1 Schlüsselwort für alle Typen.
#include gibts auch wie aus C bekannt, quasi ein include_once wobei eine so inkludierte Datei nur 1x inkludiert wird auch wenn sie aus mehreren Includes so inkludiert wird. Das macht bei größeren Include-Sets Sinn, wo eine Include von anderen Includes abhängig ist, man aber nicht immer alle Includes inkludieren möchte. KompilierenMarkierenSeparieren Für die bessere Übersicht kann man für den Vergleichsoperator = auch == verwenden, damit optisch eindeutiger ist, ob man vergleichen oder zuweisen möchte. Auch die aus Pascal/ Delphi bekannten Variante mit := ist möglich.
Dazu kommen "keine Prä- und Postfixe für Variablen und Systemvariablen, wo sie dann nicht notwendig sind, wenn es keine gleichnamige Funktion gibt".
So kann man solche Variablen z.B. einfach deklarieren per: KompilierenMarkierenSeparierenlong a,b,c
//
int a,b,c
//
string a,b,c
//
float a,b,c
// oder Speicher deklarieren:
mem a=10,b=20,c=30
aber auch gleich Werte Zuweisen ist möglich: KompilierenMarkierenSeparieren Die gleiche Syntax ist auch möglich für Funktionsparameter, quasi proc (long a,b,c) ... . Für Array-Deklarationen die Schlüsselworte: KompilierenMarkierenSeparierenlongs a,b,c
ints a,b,c
strings a,b,c
floats a,b,c
print a[0],b[0],c[0]
Dann gibts noch die FOR-Schleifen nach Pascal-Syntax mit optionalem Step und DownTo: KompilierenMarkierenSeparieren Die vordefinierten Konstanten kann man vermutlich vernachlässigen: KompilierenMarkierenSeparieren Aber die Create-Funktionen bleiben erhalten und werden in die neue Syntax konvertiert: KompilierenMarkierenSeparieren Kompilerschalter beginnen immer mit {$ und enden mit }
Für OOP gibts auch praktische Syntax:
Innherhalb von Klassen kann auf Methoden der gleichen Klasse mit "this->" zugegriffen werden (erspart das wiederholte Tippen der Klassenbezeichnung) und ausserhalb von Klassen kann auf Methoden mittels Doppeldoppelpunkt "::" zugegriffen werden, erspart Raute-Punkt "#.".
Im Grunde war es das auch schon, zumindest wenn ich nicht wieder das Wichtigste vergessen habe. *duck* |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Andreas Miethe
| Uiii
Das war ja mal komplett. Und ein bisschen viel. So viel brauche ich gar nicht. Es geht doch nur um formatieren.
Aber wie soll ich sowas
test(long a,b,c){ return a*b+c }
als Prozedur erkennen ? Das könnte genau so gut ein Funktionsaufruf sein Die geschweiften Klammern sollten aber zu erkennen sein.
Wie gesagt, ich werde mal sehen was sich machen lässt. |
|
|
| XProfan X2Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 20.02.2013 ▲ |
|
|
|
|
| Eigentlich kann es imho kein Funktionsaufruf sein, da es alleinstehende geschweifte Klammern nicht gibt und test weder if; ifnot, while; ... also keine bekannte Kontrollstruktur ist. Schwieriger wird vermutlich die Erkennung von sowas wie: KompilierenMarkierenSeparieren weil das in ein und der selben Zeile die Einrückung auch gleich wieder beenden müsste. |
|
|
| |
|
|
|
Andreas Miethe
| Nein, sowas eigentlich weniger, das habe ich ja auch schon für andere Sachen gelöst.
Beispiel : KompilierenMarkierenSeparieren kommt so nach der Formatierung heraus |
|
|
| XProfan X2Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 20.02.2013 ▲ |
|
|
|
|
| Klar, verstehe. Wenn ich mit weiteren höchstens als unhilfreich zu bezeichnenden "Ideen" erfolgreich im Wege stehen kann, dann versuche ich auch dies wie gewohnt unaufgefordert umzusetzen. |
|
|
| |
|
|
|
Andreas Miethe
| Ich habs mal probiert. Erstmal nur die Klammerung
Update ist hochgeladen. |
|
|
| Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 20.02.2013 ▲ |
|
|
|
|
Julian Schmidt | |
|
| |
|
|
|
Andreas Miethe
| IfNot und For / End Schleife in die Firmatierung aufgenommen.
Update ist hochgeladen |
|
|
| XProfan X2Gruss Andreas ________ ________ ________ ________ _ Profan 3.3 - XProfanX2 Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher Homepage : [...] | 20.02.2013 ▲ |
|
|
|
|
| I glaub da ist noch was verrutscht *duck*
|
|
|
| |
|
|