Startseite
Amiforce 2.1     Amiforce-News Amiforce-News Amiforce-Forum Amiforce-Forum Amiforce-Chat/IRC-Chat Amiforce-Chat/IRC-Chat Gästebuch Gästebuch Kontakt mit dem Webmaster aufnehmen Kontakt mit dem Webmaster aufnehmen

Amiblitz3
Amiblitz2(alt)
Storm Wizard
Abakus-Design
Helpguide
Toolsguide
Tipps&Tricks
Gamesfun
Links
Download
Musik

Bugfixes am Forum
Subdomains aktiviert
Counterscript entfernt
  Navigation:   Index / 
Amiforce Forum - AmiBlitz3 Development Thread
Registrierung Häufig gestellte Fragen Suche Mitgliederliste Moderatoren und Administratoren Startseite Bugtracker Chat Irc
Amiforce Forum » AmiBlitz2/3 (Archiv) » AmiBlitz3 Development Thread » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema | Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag [  «    1  2  3  4  5  6  7  ...    »  ]
bernd_
Haudegen



Dabei seit: Oktober 2008
Herkunft:
Beiträge: 561
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bernd_ suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

>z.b. dass man Funktionen auch als () schreiben darf.

dazu musst du allerdings den Syntax parser im compiler umbauen, bisher erkannte blitz an der geschweiften Klammer, dass es in der Funktions Liste suchen muss.

genauso da macros mit ! gekennzeichnet werden.

die variablen Liste labels hat schon nen hash cache.aber die Funktions und Macro Liste nicht, werden linear durchsucht, wenn du also die { wegnimmst musst du jedesmal die funktionsliste durchsuchen, und schauen ob es ein token ist beim tokenisieren.

Wenn du keine Erkennungszeichen benutzt, ob es ein Macro am ! ist oder ein Funktionsaufruf und kein blitz call am { erkennbar.

das ganze macht den source nebenbei übersichtlicher, da man weis, was macro was Funktion ist, was Konstante ist.

Dieser Beitrag wurde von bernd_ am 10.02.2009, 12:51 Uhr editiert.

10.02.2009, 12:49 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
Gast
unregistrierter Benutzer



Dabei seit:
Herkunft:
Beiträge:
  Antwort mit Zitat Beitrag editieren/löschen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Der Wanderer
Also bin ich nun mit Sack und Pack hierher:

https://sourceforge.net/projects/amiblitz3/

das Google Code wird in Kürze gelöscht.



und was brauchst du da nun ?
UserID oder die mailaddy ?

Edit
Username wäre dann: blackab3

Blackbird war schon vergeben..

Dieser Beitrag wurde von am 10.02.2009, 14:33 Uhr editiert.

10.02.2009, 13:25  
bernd_
Haudegen



Dabei seit: Oktober 2008
Herkunft:
Beiträge: 561
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bernd_ suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

um einem sourceforge project beizutreten braucht er nur den user account.meiner ist bernd_afa

ich bin allerdings noch nicht eingetragen, auf der hauptseite wenn man eingeloggt ist, werden die projecte angezeigt.bei mir steht noch nix da.

10.02.2009, 14:19 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
Gast
unregistrierter Benutzer



Dabei seit:
Herkunft:
Beiträge:
  Antwort mit Zitat Beitrag editieren/löschen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

@Der Wanderer

du scheinst bei den Deflibs auch die jpeg sachen rausgemacht zu haben ?

Auf jeden Fall habe ich nun Token not found in deiner jpeg.include...

Nachtrag:

Die Blitzlibs/Userlibs werden auch nicht mehr eingebunden....

Nachtrag2:

Der assign auf die Libs von AB3 beim beenden wird auch nicht zurückgenommen ! Sondern bei jedem Start ein neuer angelegt...

Nachtrag3:
Ursache ist:

code:

mydir.s = dos_GetProgDir{"Sys:"}
    Blitz3AssignWasCreated.l = dos_SetAssign{dynassign$,mydir,False}



der Assign wird angelegt, und wenn das erfolgreich war, dann wird:
code:

If Blitz3AssignWasCreated
      dos_AddAssign{"LIBS:",dos_AddPart{dynassign$,"Libs"}}
    EndIf



der Libsassign auch zugefügt

der assign wird dann aber nur im single zurückgenommen:

code:

!exitasm
  If dynassign$<>""
    sema_Release{}
    If sema_AttemptExclusive{}
      ; we are the exclusive owner of the sema now!
dos_RemAssign{"LIBS:",dos_AddPart{dynassign$,"Libs" }      
dos_RemAssign{dynassign$}
    End If
    sema_Remove{}
  EndIf




da würde doch eigentlich das da zum fixen reichen:
code:

!exitasm
  If dynassign$<>""
    sema_Release{}
    If sema_AttemptExclusive{}
      ; we are the exclusive owner of the sema now!
dos_RemAssign{"LIBS:",dos_AddPart{dynassign$,"Libs" }   ;assign zu Libs zuerst zuruecknehmen  
dos_RemAssign{dynassign$}
    End If
    sema_Remove{}
  EndIf



ok, habs gecheckt, funktioniert so nicht...

Dieser Beitrag wurde von am 10.02.2009, 19:59 Uhr editiert.

10.02.2009, 14:40  
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Das sind keine inkonsistenzen.
Auch im Englishen gibt es Zusammengesetzte Wörter, wie eben Foreground und Samplingrate. Deshalb keine Kapitalisierung. Aber beim Tippen habe ich da tatsächlich lange überlegt.
Aber darum muss sich der user ja keinen Kopf machen, da es automatisch gecased wird.
Das mit den Funktionsklammern muss der ab3 compiler ja nicht wissen, wenn der tokenizer das macht. Ich würde auch gerne bekannte Funktionen anders highlighten, so wie Tokens. Lass mich mal machen, ich weiss schon wie.


__________________
Check out http://www.hd-rec.de !

10.02.2009, 18:15 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
bernd_
Haudegen



Dabei seit: Oktober 2008
Herkunft:
Beiträge: 561
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bernd_ suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

>Das mit den Funktionsklammern muss der ab3 compiler >ja nicht wissen, wenn der tokenizer das macht.

der tokenizer braucht dann aber Zugang zu der Funktionsliste.

Du musst dann bei jedem Ausdruck also auch bei einem array Zugriff, der 1 Dimensional ist, gucken ob es ne Funktion ist.

b = a(1)

Was ist das, ein array, ein token, oder ein Makro ?
musste dann alles checken ob es in einer Liste vorkommt

wenn da steht b= a{

ists klar eine Funktion

Wenn da steht

!a

ists klar ein Makro.

dafür muss keine Liste durchsucht werden.Auch der Syntax Highlighter hat es so einfach und kann macros libcalls, und funktionen highlighten

>Aber darum muss sich der user ja keinen Kopf machen, >da es automatisch gecased wird.

Ja genau und das ganze dann auch noch global für alles möglich

Dieser Beitrag wurde von bernd_ am 10.02.2009, 19:29 Uhr editiert.

10.02.2009, 19:23 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ich muss doch sowieso gucken, ob es nicht ein Token ist. Der Hasmap ist es egal, ob noch 4000 weitere Tokens drin sind.
Man könnte das zumindest mit Include Functionen machen, da sie ja bekannt sind. Dann könnte man auch gleich eine andere farbe geben.

@blackbird

das mit dem assign verstehe ich nicht.
und ja, userlibs werden nicht mehr gescannt, das hab ich wohl verbockt. da du nun SVN hast, kannst du das aber leicht fixen. Teamwork!


__________________
Check out http://www.hd-rec.de !

10.02.2009, 19:33 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
bernd_
Haudegen



Dabei seit: Oktober 2008
Herkunft:
Beiträge: 561
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bernd_ suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

"""
If sema_AttemptExclusive{}
; we are the exclusive owner of the sema now!
dos_RemAssign{"LIBS:",dos_AddPart{dynassign$,"Libs" }
dos_RemAssign{dynassign$}
End If
""""

oh das scheint der code zu sein, der das merkwürdige Verhalten wenn 2 amiblitz 3 laufen erklärt.

habe ich ja schon öfters reportet, dass da semaphore in illegal state kommt, wusste nur nie wo da amiblitz ne semaphore haben soll.

man darf den assign erst löschen, wenn man nachprüft ob andere amiblitz 3 laufen.

Das kann man mit findport und den arexx ports mit nummern 1-20 machen.

wenn da kein amiblitz mehr läuft, dann kann man den assign removen.

10.02.2009, 19:45 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
Gast
unregistrierter Benutzer



Dabei seit:
Herkunft:
Beiträge:
  Antwort mit Zitat Beitrag editieren/löschen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Der Wanderer
@blackbird

das mit dem assign verstehe ich nicht.



was verstehst du daran nicht ?

es werden 2 Assigns ausgeführt, einmal der dynassign$ (also der auf Blitz3:)
und wenn das erfolgreich war, (wenn man von den verschiedenen eigenen intern erzeugten Pfaden absieht)dann einer auf Blitz3:Libs...

Wenn du nun Ab3 beendest und mal in Scout schaust, wirst du feststellen das nur der Blitz3: Assign zurückgenommen wird und der auf Libs immer noch exestiert was aber defenitiv falsch ist, denn was ich zur Laufzeit anlege, entferne ich dann auch wieder...

Zitat:

und ja, userlibs werden nicht mehr gescannt, das hab ich wohl verbockt. da du nun SVN hast, kannst du das aber leicht fixen. Teamwork!



aha....

@bernd

ja scheint so....
das mit dem löschen klappt halt nicht...

Beispiel: du startest einmal ein AB3 in Work:Amiblitz3
beendest das dann wieder und startest dann ein Ab3 in Entwicklung:Amiblitz3...dann zeigen die Libs aber immernoch auf das erste verzeichnis...

Na ja, wenn ihrs nicht glaubt probiert es halt mal aus..

Dieser Beitrag wurde von am 10.02.2009, 20:08 Uhr editiert.

10.02.2009, 20:07  
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Nein, ich verstehe den fix nicht.
Und die semaphore ist ja genau dafür da, dass der letzte das Licht aus macht.

Generell sollten wir aber AB3 so umbauen, dass kein assign mehr nötig ist.


Ich werde mal die globals

PEDPrefs
PEDEngine

einbauen, wo wir dann alles zentral speichern, auch sollte es keine ped.prefs etc, mehr geben, wir packen dann alles ins tooltype.


__________________
Check out http://www.hd-rec.de !

10.02.2009, 20:17 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
bernd_
Haudegen



Dabei seit: Oktober 2008
Herkunft:
Beiträge: 561
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bernd_ suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

>Und die semaphore ist ja genau dafür da, dass der >letzte das Licht aus macht.

aber das geht, nicht, teste doch mal

starte amiblitz3

starte amiblitz3 nochmal

beende das amiblitz3 das zuletzt gestartet wurde.

nun beende das amiblitz 3 das zuerst gestartet wurde, kommt semaphore in illegal state.

oder starte amiblitz3

start amiblitz3 nochmal
beende das zuletzt gestartete amiblitz 3

starte amiblitz 3
beende das zuletzt gestartete amiblitz 3

das 3 oder 4 mal wiederholt und es kommt entweder blitz3: assign not found oder amiblitz 3 lässt sich garnicht mehr starten.

oder geht das bei euch ?

weil du deinen eigenen semaphoren Namen genommen hast, habe ich auch keine semaphore gefunden.
Ahnen dass du dafür deine include genommen hast, konnte ich halt nicht.

11.02.2009, 13:35 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Sven hat meine Include dafür genommen.
Im Falle von AB3 kann ich das aber auch direkt mit OS Calls machen, so kompliziert ind ja sempahoren nicht dass man das wikrlich kapseln muss.


__________________
Check out http://www.hd-rec.de !

11.02.2009, 13:48 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Nochmal ein paar Regeln für das SVN:

1. Es wird nur committed was compiliert!

2. Es wird nur so oft committed wie nötig.

3. Vor dem Committen ein Update machen und evtl. Konflikte auflösen. Sonst muss das der nächste tun, der die Änderungen aber nicht so gut kennt.

4. Immer eine Log schreiben, damit man weiss was sich geändert hat ohne Raten zu müssen

5. Keine Dateien einchecken, die nicht unbegingt notwendig sind, und vor allem keine, die sich ständig ändern, z.B. .bak.

6. Als Exectuables nehmen wir "Amiblitz3" und "PED", aber die Entwickler sollten sich ein "Amiblitz3_stable" und "PED_stable" oder so machen, damit sie nicht ständig die Tooltypes ändern (sofern die SVN auch die genutzte AB3 version ist, wie bei mir, hat auch den Vorteil dass man eine Stable behalten kann mit anderem PED).

7. Wir sollten nun so schnell wie möglich auf ASCII umschwenken, damit das mit SVN besser funktioniert. Ich arbeite schon dran.

Sobald das Highlightning funktioniert und der Pre-Processor, kann Svan sich dran machen das "anzuschliessen". Wäre super wenn zumindest der Editor bald auf NTUI läuft, dann ist auch automatisch ASCII drin.
Bernd muss dann für ein paar Wochen auf seine Shortcuts verzichten, bis wir das nachgezogen haben.
Weiss nicht, ob man die Editoren Parallel betreiben kann, weil man ja sonst bei ASCII keine Speedvorteil mehr hat und dann auch gleich PED benutzen kann.


__________________
Check out http://www.hd-rec.de !

11.02.2009, 16:35 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
Gast
unregistrierter Benutzer



Dabei seit:
Herkunft:
Beiträge:
  Antwort mit Zitat Beitrag editieren/löschen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

@bernd

hattest du nicht mal erwähnt das Ab3 ein Textfile im Ram anlegt das einen Error.txt enthält was passiert ist und dich gewundert das Ab3 dies nicht mehr macht... ?

habe die stelle gefunden warum das so ist...
such mal:

code:

.Aclearallvars:     ;called from ped every filechange



dann etwas weiter unten

code:

!basic
  dos_Delete{my_systemdir$+"ab_compileerror.txt"}
  !asm



ausklammern und gut, dann hast du den Text im Blitz:System"

was mir allerdings aufgefallen ist, das dann die Datei keine ASCII ist...Ich vermute mal das File wurde einfach nicht geschlossen per file_Close{}

Beim token_mapping_Userlibs.txt ist es übrigends das gleiche! Deswegen können die Libs auch nicht zugefügt werden. Dazu kommt dann noch, das überhaupt kein Eintrag im File steht...

Dieser Beitrag wurde von am 11.02.2009, 16:50 Uhr editiert.

11.02.2009, 16:40  
bernd_
Haudegen



Dabei seit: Oktober 2008
Herkunft:
Beiträge: 561
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bernd_ suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

>Weiss nicht, ob man die Editoren Parallel betreiben >kann, weil man ja sonst bei ASCII keine Speedvorteil >mehr hat und dann auch gleich PED benutzen kann.

wie willst du es denn machen nur das tui object, oder den ganzen tuited, so dass quasi alles dann mit TUI gemacht wird ?

Mein Vorschlag war ja schon immer arex, dann wäre es so wie das DOM.Da ist dann Tuited auch sauber gekapselt und tauscht Daten über das Interface aus.nebenbei kann es dann auch mal golded mit AB3 support geben, oder man kann den paralel nutzen.

http://de.wikipedia.org/wiki/Document_Object_Model

das blitz pc hat auch so ein interface, da gibts ja auch externe IDE dafür.vielleicht guckt man sich das mal an oder bruzard hat vielleicht doku dafür zur Hand

Dieser Beitrag wurde von bernd_ am 11.02.2009, 16:55 Uhr editiert.

11.02.2009, 16:54 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Eigentlich wollten wir den PED ersetzen und ein NTUI Textbox Widget nehmen. Heisst ja nicht, dass man dann auch externe Editoren nicht gehen würden.
Man hat dann immerhin einen Einstiegspunkt für ASCII Texte, die dann (hoffentlich) fast genauso schnell compilieren wie tokenizte Texte. Dadruch, dass dann auch Includes ASCII sein können, sind Externe Editoren durchaus einsetzbar, ohne dass diese das Tokenized format kennen müssen.


__________________
Check out http://www.hd-rec.de !

11.02.2009, 16:58 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
bruZard
König



Dabei seit: August 2005
Herkunft:
Beiträge: 830
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bruZard suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von bernd_
[...]das blitz pc hat auch so ein interface, da gibts ja auch externe IDE dafür.vielleicht guckt man sich das mal an oder bruzard hat vielleicht doku dafür zur Hand


BlitzMax hat kein Interface für eine externe Scriptsprache wie ARexx, der Compiler ist einfach nur ein Commandline Tool das man halt auch mit einer IDE oder einem Wurstbrötchen starten kann. Die Ausgaben des Compilers landen im Port der Shell und können so abgefangen werden.


__________________
PanzerZ | jBB / HTML5 Canvas Framework

11.02.2009, 17:09 bruZard ist offline   Profil von bruZard Füge bruZard deiner Freunde-Liste hinzu Homepage von bruZard
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Wenn das nicht allzuviel Speed kostet, wäre das auch mein favorisiertes Format.
AB3 kompiliert ja soweiso immer neu, cached allerdings die Funktionsnamen.

Aber z.B. so:

Amiblitz3 >RAM:error.txt DH0:Sources/MyProggy.ab2 -o DH0:Bin/MyProg.exe

und so

Amiblitz3 >RAM:error.txt DH0:Sources/MyProggy.ab2 -o DH0:Bin/MyProg.exe -makesmallest

Amiblitz3 >RAM:error.txt DH0:Sources/MyProggy.ab2 -o DH0:Bin/MyProg.exe -debug -run

Könnte ich mir das schon vorstellen.
Den Rest der Parameter kann es ja aus der .xtra Datei ergänzen


__________________
Check out http://www.hd-rec.de !

11.02.2009, 17:17 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
bernd_
Haudegen



Dabei seit: Oktober 2008
Herkunft:
Beiträge: 561
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bernd_ suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

>Wenn das nicht allzuviel Speed kostet, wäre das auch >mein favorisiertes Format.
>AB3 kompiliert ja soweiso immer neu, cached >allerdings die Funktionsnamen.

allerdings wen man nen shell compiler draus macht, kann man nicht so einfach die funktionsnamen vervollsändigung, anzeige der newtypes variablen Konstanten machen die ein Programm benutzt.

daher braucht man bessre Verbindung zum compiler.

11.02.2009, 17:55 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
bruZard
König



Dabei seit: August 2005
Herkunft:
Beiträge: 830
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bruZard suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Wieso nicht Bernd? Was hat die IDE und ein eingehängter Preprozessor mit dem Compiler zu tun? Der Compiler bekommt das was er erwartet, dem User wird angezeigt was er gerne möchte. Es ist für den User völlig irrelevant was passiert wenn er was kompiliert, er will nur einen anständigen Editor. Es gibt eine IDE für DarkBasic die für DarkBasic komplett unbekannte Konstrukte einführt, ist dem Compiler aber egal weil die IDE einfach intern was schraubt und dem Compiler am Ende was verwertbares liefert.


__________________
PanzerZ | jBB / HTML5 Canvas Framework

11.02.2009, 18:03 bruZard ist offline   Profil von bruZard Füge bruZard deiner Freunde-Liste hinzu Homepage von bruZard
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ja, nur das Problem ist, dass man in AB3 auch Strukturen/Variablen/Funktionen des aktuellen Sourcecodes browsen kann. Die Information bekommt die IDE vom Compiler. Wenn der Compiler extern arbeitet, muss diese Scan-Funktionalität, die schon fast auf ein Parsen hinausläuft, auch ins IDE rein.
Im Endeffekt haben wir dann einen externen Kompiler, und auch noch einen internen. Dann können wir den internen Code erzeugen lassen und den externen wegschmeissen, und der Kreis ist geschlossen .. ...



__________________
Check out http://www.hd-rec.de !

11.02.2009, 18:22 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
bruZard
König



Dabei seit: August 2005
Herkunft:
Beiträge: 830
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bruZard suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Dann ist das System falsch designed. Es sollte dem Compiler egal sein wie die externen Sprachkonstrukte aussehen. Im Prinzip sollte der Compiler nur die Basis kennen (If, Then, Else, While .......) und alles andere "zugeschoben" bekommen. Prinzipiell sollte er sich einer Datenbank bedienen um Sprachkonzepte verarbeiten zu können.

Ich kann auch in BlitzMax alles browsen was da in meinem Source rumlungert ... mit AutoIndent, dieser Popup Geschichte für Funktionen/Methoden einer Klasse etc. Ist dem Compiler alles Banane ... ich kann mein eigenes Modul (in AB3 ein Include) einhängen und der Compiler weiß nichts davon. Er bekommt am Ende einfach nur was zum kompilieren, völlig unabhängig davon was die IDE vorher dem User alles gezeigt hat.


__________________
PanzerZ | jBB / HTML5 Canvas Framework

11.02.2009, 18:26 bruZard ist offline   Profil von bruZard Füge bruZard deiner Freunde-Liste hinzu Homepage von bruZard
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ja, da liegt dann eben mehr "Intelligenz" im IDE. Bei uns liegt mehr "Intelligenz" im Compiler, zumindest bis jetzt.
Wenn du in den IDE selbst parsed, ist halt nicht arantiert dass der Compiler das hinterher auch so sieht

So kann es dir passieren, dass das IDE was als definiert anzeigt, und der Compiler meckert "Die Funktion gibts doch gar nicht!". So wie z.B. bei .NET es oft vorkommt.

Frage ist, ob wir sowas wollen?
In gewisser weise haben wir das ja schon, durch das Scannen der Inlcudes. Das muss auch nicht 1:1 mit dem übereinstimmen, was der COmpuiler von den Includes hält.


__________________
Check out http://www.hd-rec.de !

11.02.2009, 18:30 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
bruZard
König



Dabei seit: August 2005
Herkunft:
Beiträge: 830
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bruZard suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Nein, das ist doch Quatsch ... die IDE führt doch keine neuen Sprachkonzepte ein. Der Compiler bekommt doch dasselbe was er zuvor auch bekam. Der Unterschied ist dass nun die IDE dafür zuständig wäre Konstrukte so umzubauen dass sie dem Compiler bekannt sind.

Selbst wenn die IDE neue Sprachkonzepte einführt: Ein PreCompiler müsste den Kram dann nur so umbasteln dass der Compiler das bekommt was er immer bekam. Exakt so macht es diese IDE für DarkBasic (Name vergessen).


__________________
PanzerZ | jBB / HTML5 Canvas Framework

11.02.2009, 18:35 bruZard ist offline   Profil von bruZard Füge bruZard deiner Freunde-Liste hinzu Homepage von bruZard
Der_Wanderer
Foren Gott




Dabei seit: März 2006
Herkunft: Karlsruhe, Baden-Württemberg
Beiträge: 3564
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Der_Wanderer suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Nein, aber die IDE kann fehler machen beim auffinden von Strukutren oder Funktionen. Bei Amiblitz3 wird die Information, die die IDE darstellt direkt aus dem Compiler ausgelesen (korrigiert mich wenn ich falsch liege) und deshalb immer korrekt.

Aber früher oder später werde ich wohl sowas einbauen (der erste Schritt zu A++ ?)



Amiblitz3 wäre dann später nur noch low-level Codegenerator.


__________________
Check out http://www.hd-rec.de !

11.02.2009, 18:42 Der_Wanderer ist offline   Profil von Der_Wanderer Füge Der_Wanderer deiner Freunde-Liste hinzu Email an Der_Wanderer senden Homepage von Der_Wanderer
bernd_
Haudegen



Dabei seit: Oktober 2008
Herkunft:
Beiträge: 561
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bernd_ suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

>Ich kann auch in BlitzMax alles browsen was da in >meinem Source rumlungert

woher soll die ide wissen, welche gloablen Variablen dein programm nutzt ?

Sie muss erst wie der compiler den ganzen source durchhgehen und eine Liste der variablen anlegen.

das ist doppelter code, daher kann man auch gleich dazu den Compiler nehmen, der gibt dann die Variablenliste an die IDE

definiere doch irgend ne globale variable im externen file.

ich denke die IDE zeigt das nicht richtig an, Visual Studio ist eigentlich der beste Compiler und IDE und hat trotzdem Probleme bei einem source der über hello world raus geht

das blitz max ide ist ja ziemlich spartanisch, oder gibts da was neues bessres? was ist denn das beste `?

Wenn ichs mir anschaue kann ich dir sagen was man da nicht machen kann.

Dieser Beitrag wurde von bernd_ am 11.02.2009, 19:27 Uhr editiert.

11.02.2009, 19:26 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
bernd_
Haudegen



Dabei seit: Oktober 2008
Herkunft:
Beiträge: 561
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bernd_ suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

>Aber früher oder später werde ich wohl sowas >einbauen (der erste Schritt zu A++ ?)

da bin ich ja mal gespannt, ob du jemals noch Zeit hast ein Programm mit A++ zu schreiben

ist halt schon einiges an arbeit.und nun, ist es schon fertig, so dass es tui 100% ersetzen kann und hd-rec komplett mit ntui läuft ?

verbessern kann man alles, man sollte aber immer abwägen, was man am notwendigsten benötigt und eigentlich gibts da ja mehr als genug, z.b nen ntui Editor deine games mal fertig machen, hd-rec mal fertig machen..

Dieser Beitrag wurde von bernd_ am 11.02.2009, 19:34 Uhr editiert.

11.02.2009, 19:32 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
bruZard
König



Dabei seit: August 2005
Herkunft:
Beiträge: 830
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bruZard suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Von mir aus lass es doppelten Code sein, hat bei BlitzMax aber dazu geführt dass es mittlerweile ein wirklich gutes IDE gibt welches mittels Java entwickelt wurde. Auch dieses IDE kennt Autovervollständigen und IntelliSense ... alle guten Umgebungen für BlitzMax wurden von Hobby-Entwicklern (meist im Alleingang) entwickelt, so komplex kann das Thema also nicht sein.


__________________
PanzerZ | jBB / HTML5 Canvas Framework

11.02.2009, 20:05 bruZard ist offline   Profil von bruZard Füge bruZard deiner Freunde-Liste hinzu Homepage von bruZard
bruZard
König



Dabei seit: August 2005
Herkunft:
Beiträge: 830
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von bruZard suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von bernd_ da bin ich ja mal gespannt, ob du jemals noch Zeit hast ein Programm mit A++ zu schreiben

ist halt schon einiges an arbeit.und nun, ist es schon fertig, so dass es tui 100% ersetzen kann und hd-rec komplett mit ntui läuft ?


Nur Leute mit zerbissenen Unterlippen denken in diesem Schema

Zitat:
verbessern kann man alles, man sollte aber immer abwägen, was man am notwendigsten benötigt und eigentlich gibts da ja mehr als genug, z.b nen ntui Editor deine games mal fertig machen, hd-rec mal fertig machen..


HD-Rec ist prinzipiell fertig wenn man es aus der Sicht eines Users sieht, aus der Sicht eines Programmierers ist ein Programm niemals fertig.
Was "am nötigsten benötigt" wird ist selten aus der Sicht des Programmierers zu erläutern.
Ich halte mich nicht für einen Programmierer, ich bin Designer und benutze Programmiersprachen als Krücke um ans Ziel zu kommen. Aus meiner Sicht ist AB3 zwar schon sehr, sehr ausgereift ... es fehlt aber an allen Ecken und Kanten das "Basic" ... ich will meine Apps und Games nicht per Drag & Drop zusammen klickern, aber in einem NewType eine Function ablegen zu können wäre für mich eine Erlösung, es würde mich wieder näher an das Design bringen und mich vom Nerd-1337-Code wegbringen.

Ein Editor der sich wie unter Windows verhält, aber die Vorteile des AmigaOS mitnimmt (SHIFT + Cursor markiert eine Zeile ... etc.) wäre eine Erlösung, TABs am oberen Editor-Rand mit denen ich zwischen Files wechsle ohne dass das Sekunden dauert.

Eine Zeile "cutten" und die Zeile ist wirklich weg, der Cursor bleibt in der Position der ausgeschnittenen Zeile und lungert nicht woanders rum. Wäre geil ... derzeit muss ich hoch konzentriert sein und aufpassen wo das "Einfügen" passiert.

TABs die welche sind, und nicht durch eine handvoll Leerzeichen simuliert werden. Nichts nervt mehr als ständig Leerzeichen killen zu müssen weil man etwas umformatieren möchte, obwohl da eigentlich ein TAB stehen könnte.

Create Executable sollte nicht notwendig sein um relative Pfade nutzen zu können. Da wo das Mainfile liegt sollte die Directorystructure relativ verwendet werden.

Die von Thilo angeführte Möglichkeit Funktionen mit einfachen Klammern zu definieren (geht auf der ganzen Welt, nur in AB nicht) wäre ein Gewinn. Makros können von mir aus weiterhin mit einem Ausrufezeichen definiert werden, tut mir nicht weh und ich finde das auch gut lesbar. Aber Funktionen/Statements mit geschweiften Klammern aufrufen zu müssen ist echt gewöhnungsbedürftigt und lässt sich Newbies (Basic ist eigentlich für diese) schlecht erläutern.

Funktionen sollten Handles auf Newtypes zurückgeben können. Wenn ich das richtig verstanden habe darf der Rückgabewert derzeit nur Long oder String sein. Super wäre es wenn der Rückgabewert auch ein Objekt sein könnte.

So ... nun habe ich genug gefaselt und gesponnen ... ich bleibe klar bei AB3, da mache ich seit Monaten mehr mit als mit BMax ... aber ich fand das gerade passend um ein paar Ideen zu posten.

Sorry!!


__________________
PanzerZ | jBB / HTML5 Canvas Framework

11.02.2009, 20:20 bruZard ist offline   Profil von bruZard Füge bruZard deiner Freunde-Liste hinzu Homepage von bruZard
Andi
Routinier



Dabei seit: Dezember 2007
Herkunft: Dresden/Sachsen
Beiträge: 255
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Andi suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Wenn ich es richtig verstehe (habe mir den Sourcecode leider noch nicht angesehen), dann ist die enge Verzahnung zwischen Compiler und IDE in AB3 Fluch und Segen zugleich. Es bringt einerseits eine bemerkenswerte Kompaktheit, aber andererseits auch eine große Anfälligkeit für Fehler. Dabei ist der Compiler selbst offensichtlich annähernd fehlerfrei. Würde man den also stärker kapseln, könnte man sich aus meiner Sicht besser auf die IDE selbst konzentrieren. In dieser Hinsicht klingt alles, was der Wanderer bisher an Verbesserungsvorschlägen geäußert hat, sehr gewinnbringend. Ich freue mich jedenfalls auf die AB3-Zukunft! Macht weiter so!

11.02.2009, 23:12 Andi ist offline   Profil von Andi Füge Andi deiner Freunde-Liste hinzu Email an Andi senden
[  «    1  2  3  4  5  6  7  ...    »  ]   « Vorheriges Thema | Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu: