GLScriptBasic

Previous topic - Next topic

Kitty Hello

Total krass!

Schranz0r

Mega coolo xD

Bleib am Ball, das wird super!
Ist ja nicht um sonst STICKY ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

metzzo

Danke euch beiden :)

Im moment arbeite ich an den optionalen Parametern. Dies ist leider nicht so einfach wie gedacht... Ich bleibe am Ball
That's no Bug, that's my project!

http://programming-with-design.at/

metzzo

Optionale Parameter implementiert .... puh.
Code (glbasic) Select
OptionalTest(10)
OptionalTest(10,-100*2)
OptionalTest(10,-99,"Hallo Ich Welt")
FUNCTION OptionalTest: Hallo, Bum=100, Text$="Hallo Welt"
STDOUT "Hallo: "+Hallo+" Bum: "+Bum+" -"+Text$
ENDFUNCTION

Das war schwieriger als geplant... der Hauptgrund war die Tatsache dass GLScriptBasic ein single pass compiler ist.
Das Hauptproblem war dass erst am Ende des kompilierens feststeht WELCHE Funktionen es gibt. Wodurch beim aufrufen eben dieser nicht klar ist wieviele Parameter diese hat. Dies war als es eine statische Anzahl an Parametern gab nicht weiter schlimm. Jedoch sobald es Variabel viele Parameter gibt muss man auch wissen was aufgerufen wird. Tja, dies konnte ich lösen indem es von einer Funktion nicht eine gibt sondern für jeden optionalen Parameter eine weitere. Diese leitet quasi zu der mit allen Parametern um, ein Umweg. Es ist ein wenig schwer zu erklären... Das Beispiel von oben erzeugt drei verschiedene Funktion: OptionalTest@1, OptionalTest@2, OptionalTest@3. Durch die Anzahl der Parameter kann der Compiler leicht erkennen welche aufgerufen wird.
Ein  netter Nebeneffekt: Simple Funktionsüberladung wurde hiermit implementiert. die einzige Vorraussetzung ist halt, dass sich die Parameteranzahl unterscheidet.

Tja als nächstes müssen Arrays auch Strings unterbringen können und diese sollten auch aus einer Funktion zurückgegeben werden können.

Version: 0.35
That's no Bug, that's my project!

http://programming-with-design.at/

WPShadow

Oh Mann, das wird richtig böse!!!

Weiter so!!!  :good:
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

metzzo

Mhmm, ich komme mir nun ziemlich dumm vor.
Ich habe nun seit 3 Tagen einen seltsamen bug gesucht, der Entstand, wenn man Arrays aufruft, deklariert oder redimensioniert. Ich konnte mir bei besten Willen nicht vorstellen woran das Lag (es kam andauernd die Fehlermeldung "Expecting '['" von meinem Compiler.

Nun habe ich den Fehler gefunden... Es lag an den REPEAT - UNTIL Schleifen. Da ich ziemlich oft davon gebrauch machte, und dadurch eben dieser Auftrat. Nunja was war nun der Fehler? In der ersten V8 Beta waren REPEAT UNTIL Schleifen umgedrehte WHILE Schleifen (Also REPEAT - UNTIL TRUE - das wäre immer korrekt gewesen) während in der neueren Version die BEdingung umgedreht war - es wäre schön gewesen wenn das irgendwo stehen würde...

Naja nun geht es weiter...
That's no Bug, that's my project!

http://programming-with-design.at/

Kitty Hello


CptnRoughnight

Hi,
nur ne kurze Frage : wie ist der momentane Status? ich bräuchte demnächst mal eine gute Scriptsprache für ein Projekt.
MfG

trucidare

wenn ichs wieder finde schick ich dir lua, glbasic script ist tot *wer hätte das gedacht???*
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

CptnRoughnight

Oo was is denn da los? War's Fake?
Wenn du das noch findest war's cool, danke!
MfG

trucidare

benötigst du windows only oder für alle platformen (glaub alle außer iphone)?
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

CptnRoughnight

Jo, alle Platformen ausser EiFon!

MfG

trucidare

ok also mit source statt dll, habs nur auf windoof getestet bisher. aber kompilieren sollte es dann für alle
MacBook Pro 2,2 GHz Core 2 Duo, 4 GB RAM, 160 GB HDD, 8600M GT
Core i3 - 3,07 GHz, 8 GB Ram, 2.5 TB HDD, Geforce GTX 260+ OC

CptnRoughnight

weis net ob du die PN bekommen hast, bei mir zeigt es nichts an (keine gesendeten mails).... aber immer her damit, mal sehen ob ichs versteh und einbauen kann... bin dir auf jeden Fall schonmal Dankbar!
MfG

metzzo

Es war kein Fake, die Grundlage (Core) war nur ein wenig schlampig programmiert, weswegen Types ein Ding der Unmöglichkeit sind. Außerdem ist ein Bug in der Funktionsverwaltungsroutine im Parser, der dazu führt dass Zeilen einfach doppelt/garnicht ausgeführt werden können. Ich habe mich schon seit über zwei Wochen damit rumgeärgert.... Der Fehler ist und bleibt verborgen.

Ich werde beizeiten (sofern Gernot dies erlaubt) den Souce veröffentlichen (damit niemand denkt es sei ein Fake...).
That's no Bug, that's my project!

http://programming-with-design.at/