AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [linux/windows]CUD 0.1.2, eine weitere Scriptsprache.
Thema durchsuchen
Ansicht
Themen-Optionen

[linux/windows]CUD 0.1.2, eine weitere Scriptsprache.

Ein Thema von Teekeks · begonnen am 24. Apr 2010 · letzter Beitrag vom 26. Jun 2010
 
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#1

CUD 0.1.2, eine weitere Scriptsprache. [Windows/Linux]

  Alt 24. Apr 2010, 14:14
CUD, Version 0.1.2


Was ist CUD?
CUD ist eine Scriptsprache die ich in meiner Freizeit gebastelt habe um wieder mal ein wenig zu üben.
Momentan kann CUD nicht allzu viel, das wird sich aber noch ändern.

Bitte fragt mich nicht wofür CUD steht, ich weiß es nicht. Vl. fällt euch ja was ein?

Was kann CUD?

unterstützte Datentypen:
  • Integer
  • String
  • Boolean
  • zum Teil Real

Weitere Merkmale:
  • Parsen von Mathematischen Ausdrücken (z.B. (2+123)*42/7)
  • Einbinden von Units
  • Verwendung von Globalen und Lokalen Proceduren und Funktionen

Syntax von CUD:

Blöcke:
Blöcke werden durch ein [ begonnen und durch ein ] abgeschlossen.
Es ist momentan noch wichtig das jeweils Blockanfang und Blockende eine eigene Zeile bekommen.

Variablendeklaration:
Zum Deklarieren einer Variable wird folgende Syntax verwendet:
#[varname]:[vartype];

Zugriff auf Variablen:
Auf Variablen wird Immer mit folgender Syntax zugegriffen:
$[varname]

Zuweisung von Werten an Variablen:
Syntax:
$[varname]:[value];

Procedurendeklaration:
Eine Procedure kann jederzeit über folgende Syntax Deklariert werden:
proc [Name]([Prarameter1]:[Datentyp1]; [...] [Parametern]:[Datentypn]; );
[codeblock]

Wenn eine Procedure Unitübergreifend Deklariert werden soll muss anstatt proc ein proc* stehen.
Eine Procedure ist nur nach der Deklaration bekannt.

Funkionendeklaration:
Eine Funktion kann jederzeit über folgende Syntax Deklariert werden:
func [Name]([Prarameter1]:[Datentyp1]; [...] [Parametern]:[Datentypn]; ):[resulttyp];
[codeblock]
Auch hier gilt:
Wenn die Funktion Unitübergreifend sein soll, muss sie so lauten: func*

Aufruf von Funktionen und Proceduren:
Syntax:
*[Name]([param1],[param2],[...],[paramn]);
Wenn der Aufruf innerhalb einer Zuweisung erfolgt muss das Semikolon weggelassen werden.

Schleife:
Zur Zeit gibt es nur eine Schleifenart: die for-Schleife.
Die Syntax für diese lautet:
for [Integervariable]([integer],[integer]);
[codeblock]

Bedingte Anweisungen:
Hier gibt es das Stichwort If.
Syntax:
if [boolean] [
[viel Code]
]
Zu beachten ist das Variablen-, Proceduren- und Funkionendefinitionen, welche innerhalb der Schleife sind, auch von der Bedingung abhängen.

Eine Unit Einbinden:
Das einbinden einer Unit erfolgt mit folgender Syntax:
+[Unitname];
Die Unit muss zuvor in der Datei regunits.ini Registriert werden.
Dabei wird folgende Syntax verwendet:
[displayname]
Path=/Pfad/zur/.cud-Datei

Grundbefehle:
  • Out([string]);
  • Outln([string]);
  • Input([variable(integer/string)]);
  • clrscr; (Clear Screen)
  • WOE; (Wait on Enter)
  • Wait([integer]);
  • TextColor([integer]);
  • TextBG([integer]);
Für TextColor und TextBG gilt:
Delphi-Quellcode:
{ Foreground and background color constants }
  Black = 0;
  Blue = 1;
  Green = 2;
  Cyan = 3;
  Red = 4;
  Magenta = 5;
  Brown = 6;
  LightGray = 7;

{ Foreground color constants }
  DarkGray = 8;
  LightBlue = 9;
  LightGreen = 10;
  LightCyan = 11;
  LightRed = 12;
  LightMagenta = 13;
  Yellow = 14;
  White = 15;

{ Add-in for blinking }
  Blink = 128;
Parsen mit CUD:
Der Aufruf Erfolgt so:
Code:
cud datei.cud
Was noch geplant ist:
  • Boolsche Vergleiche einbauen (= <= => <> or and xor) (erledigt)
  • Operator not
  • Hinzufügen des Datentyps real
  • Hinzufügen des Datentyps pointer
  • Bessere Fehlerbehandlung (erledigt)
  • Einrückung ermöglichen
  • Mehrere Befehle in eine Zeile
  • Dynamischen Binding von Units
  • Einbindung von Units über den Dateipfad
  • records
  • arrays
  • Definition von eigenen Datentypen
  • Sets
  • Dateizugriff realisieren (von/in Datei Lesen/Schreiben)
  • mehr Grundbefehle
  • Input auch für boolean (und später real)
  • u.v.m.

Und zum Schluss:
Anregungen und Kritik ist herzlich erwünscht!
Angehängte Dateien
Dateityp: zip cud_v0.1.2_linux_109.zip (286,9 KB, 14x aufgerufen)
Dateityp: zip cud_v0.1.2_windows_143.zip (169,5 KB, 12x aufgerufen)
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".

Geändert von Teekeks (12. Jun 2010 um 15:58 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz