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 - AmiBlitz4, A/A++ oder Amiga Thunder
Registrierung Häufig gestellte Fragen Suche Mitgliederliste Moderatoren und Administratoren Startseite Bugtracker Chat Irc
Amiforce Forum » AmiBlitz2/3 (Archiv) » AmiBlitz4, A/A++ oder Amiga Thunder » 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    »  ]
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

In dem Fall war es nicht von dir, bb2 code ist das label genauso.

um das mit den labels und den code besser verstehen, kannst du auch den original source reinladen, der lief zwar nie, die label versteht man auch selten, aber hilft vieleicht doch.

ansonsten, wenn du den call zum preprocessor reinbaust nach Thilos anweisungen und ans plugin so wie ped, kann jeder eigentlich sein amiblitz gestalten wie er will.

amiblitz versteht ja 68k asm und PPC asm Source files, da kann dann jeder über den preprocessor ohne mit altem Blitzbasic code rumzumachen, seinen Compiler schreiben

ausgabe ist dann PPC oder 68k asm

Der gcc C compiler compiliert auch erst nach asm

der amiblitz assembler ist allerdings auch schneller als gcc assembler und auch schneller als andre assembler, gerade bei grossen files

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




Dabei seit: Mai 2002
Herkunft: Hambühren/Niedersachsen
Beiträge: 968
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Honitos suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von bernd_
um das mit den labels und den code besser verstehen, kannst du auch den original source reinladen, der lief zwar nie, die label versteht man auch selten, aber hilft vieleicht doch.



Welches Original meinst Du ?


__________________
On the web at http://www.programmed-excellence.de

31.01.2009, 19:58 Honitos ist offline   Profil von Honitos Füge Honitos deiner Freunde-Liste hinzu Email an Honitos 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

na den original blirtzbasic source, den man auch auf Davids Seite findet

01.02.2009, 10:51 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

Hallo

Wollte nur noch mal nachhacken, ob Bernd String Verbesserungen ihren weg zu Sven gefunden haben und ob wir nun ein SVn machen sollen.

Dann würde auch ich ab und zu mal reingucken.


BTW, die Idee mit A++ ist noch nicht gestorben.
Ich werde in MonkeyScript noch Shared Library Support reinmachen. Dann kann ich bereits ein kleines Demo coden was ein Fenster öffnet und so. Irgendwie fasziniert mich das schon.


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

01.02.2009, 19:18 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

>BTW, die Idee mit A++ ist noch nicht gestorben.

Wir warten nur auf Deine Pläne für den Preprocessor.

01.02.2009, 19: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

Ich bin mir nicht sicher, ob ein Pre-Processor so eine gute Idee ist. Denn wenn er mehr machen solle als Macros ersetzen, dann muss er die Syntax analysieren. Und in dem Moment kann man auch gleich Assembler erzeugen.

Wir sollten aber auf jeden Fall einbauen, dass Includes auch ASC sein können. Das wäre dann im Zuge wenn wir den tuiTED einbauen. Denn die Programme als ASCII ist besser zu handhaben, z.B. im SVN oder auch Code austausch.

Das Tokenisieren sollte aber weiterhin von AB3 gemacht werden. ich habe nänmlich gesehen, dass der Alogrithmus etwas anders ist als im TuiTED.

Z.b. gibt es tokens mit Sonderzeichen drin. Das ist schwer zu parsen. Ich habe auch gesehen, dass PeekS$ nicht mehr geht.


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

01.02.2009, 19:41 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

tja siehst du, wenn du dir mal nähere Gedanken drüber machst, mekrst du schnell wie umfangreich das ganze wird.

Wenn du etwas neu machst musst da in vollem Umfang vorher wissen wie du es machst.Wenn du erstnal cvodest und dann bei 20% merkst ups, doch nicht so gut und wieder alles umschmeist kostet es noch mehr Zeit.

ein preprocessor muss auf jedenfall die komplette syntax parsen.die tokens, { vereinfachen ! es in dem Falle sehr.Bei C++ geht das ganze auch über nen Preprozessor und der g++ erzeugt C code.Der C compiler hat wiederrum einen preprocessor, der die macros extrahiert.der erzeugt code, wird dann in assembler text file gewandelt, der assembler text code wird dann in das binary gewandelt.

Wenn du amiblitz nach C machen willst, musst du das genauso machen.

Und wenn du mal schrittweise anfängst kannst du nen syntax parser für den preprocessor schreiben, der erstmal einfache dinge erkennt.

kann dein Parser das nicht, kannst du den code unverändert an AB2 übergeben

dagegen fängst du bei 0 an, musst du alles neu machen, so kannst du schritt für schritt erneuern und hast immer was benutzbares.

Dieser Beitrag wurde von bernd_ am 02.02.2009, 11:28 Uhr editiert.

02.02.2009, 11:25 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
Honitos
König




Dabei seit: Mai 2002
Herkunft: Hambühren/Niedersachsen
Beiträge: 968
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Honitos suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Der Wanderer
Hallo

Wollte nur noch mal nachhacken, ob Bernd String Verbesserungen ihren weg zu Sven gefunden haben und ob wir nun ein SVn machen sollen.




Du meinst Die stringlib, stimmts ?
Bernd hast mir die lib geschickt, ja.
Die ist aber noch nicht in den deflibs bzw. acidlibs drin.

Ich mache aber eine Version fertig und lade sie hoch.

Sven


__________________
On the web at http://www.programmed-excellence.de

02.02.2009, 15:41 Honitos ist offline   Profil von Honitos Füge Honitos deiner Freunde-Liste hinzu Email an Honitos 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

SVN, anyone?


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

02.02.2009, 16:09 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
Honitos
König




Dabei seit: Mai 2002
Herkunft: Hambühren/Niedersachsen
Beiträge: 968
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Honitos suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Hi Thilo,

das mit dem SVN ist prinzipiell natürlich eine gute Sache.
Wie wollen wir das konkret umsetzen ?
Wer macht es ?


__________________
On the web at http://www.programmed-excellence.de

02.02.2009, 16:24 Honitos ist offline   Profil von Honitos Füge Honitos deiner Freunde-Liste hinzu Email an Honitos 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 kann es ins SVn reinsetzen. Ab dann musst du aber auch aus SVN umstellen. Weisst du wie das geht?
Benutzt du WinUAE zum entwickeln?

Der hauptsource sollte dann am besten im .ab2 format sein. Das kann sVN dann direkt vergleichen und mergen.


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

02.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
Honitos
König




Dabei seit: Mai 2002
Herkunft: Hambühren/Niedersachsen
Beiträge: 968
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Honitos suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ja, WinUAE ist - wie bei Dir - mein Arbeitsgerät. Mit den vielen Dienstreisen ist das gar nicht anders denkbar.

Umstellen auf ab2 ist ja reine Formsache. Nur das disziplinierte Aus-/Einchecken macht mir noch etwas Sorgen.
Hoffentlich klappt das in der Praxis ganz gut...


__________________
On the web at http://www.programmed-excellence.de

02.02.2009, 19:03 Honitos ist offline   Profil von Honitos Füge Honitos deiner Freunde-Liste hinzu Email an Honitos 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

Hast du einen SVN Client?
Ich würde Tortoise SVN unter Windows nehmen.

Mit dem ein und auschecken geht es besser, wenn das Program auf verschiedene Dateien verteilt ist. Kommt halt von C.
Grundsätzlich sollte man nicht zu oft committen, erst wenn die Änderung abgeschlossen ist, also keine Zwischenstände, sodass auch der Code zu jederzeit compilierbar ist.
Und man sollte vor jedem Commit ein Update machen, und evtl. in der Zwischenzeit entstandene Conflicts mergen. Das geht aber komfortabel nur mit ASCII Files.

Dann gibt mir den aller letzen Source und ich baue ein SVN damit. Ich kann ja gleich die komplette Distro rein stellen.
Auf unserer HP können wir dann ab und an "Snapshots" ziehen.



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

Dieser Beitrag wurde von Der_Wanderer am 02.02.2009, 19:16 Uhr editiert.

02.02.2009, 19: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

>Ich würde Tortoise SVN unter Windows nehmen.

das habe ich auch

02.02.2009, 19:59 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
Honitos
König




Dabei seit: Mai 2002
Herkunft: Hambühren/Niedersachsen
Beiträge: 968
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Honitos suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Der Wanderer
Dann gibt mir den aller letzen Source und ich baue ein SVN damit. Ich kann ja gleich die komplette Distro rein stellen.
Auf unserer HP können wir dann ab und an "Snapshots" ziehen.



Der aus dem Archiv ist tatsächlich der aktuellste.
Den kannst Du nehmen. Ich installiere derweil den SVN-Client.


__________________
On the web at http://www.programmed-excellence.de

02.02.2009, 20:07 Honitos ist offline   Profil von Honitos Füge Honitos deiner Freunde-Liste hinzu Email an Honitos 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

>Wir sollten aber auf jeden Fall einbauen, dass Includes >auch ASC sein können.

ich denke es wäre das einfachste, wenn man ein arex script schreibt, dass in den Verzeichnissen aus bb2 code ein ab2 file erstellt, wenn das bb2 file neueres Datum hat, durch einladen in ped und speichern, wenn es geändert wurde, dass lässt man dann drüberlaufen vorm auschecken

genauso kann man ein script machen, mit tokenize source.

Wenn man die includes ohne tokens macht, wirds langsam, da amiblitz halt im Vergleich tzu C sehr viele Befehle kennt.

der compiler müsste dann erstmal den passenden Befehl aus über 1800 finden

03.02.2009, 11:01 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

Hm, ich mag eigentlich keine Residents, das hat mich schon immer gestört dass ich da nicht reingucken kann und einfach was fixen.

Tokenisieren sollte via Hash map oder Pre-Fix Tree schnell gehen.
Über AREXX würde ich ungern gehen wollen.
Am besten man baut das in AB3 selbst rein, da hat man auch gleich die richtigen Tokens parat. Die Includes als .bb2 cachen sollte ja dann kein Problem sein.
Dann darf man aber beim Debuggen dort niemals reinspringen. Sonst ändert man was im gecachten.


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

03.02.2009, 11:27 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

Achja, @Bernd

Der Grosse unterschied zwischen der Virtuellen Binary und dem "echten" 68K binary ist, dass das Virtuelle Binary noch die Semantik enthält, also den "Sinn" der Befehle. Den enthält das 68K Binary nicht mehr. Dadurch eignet es sich wesentlich schlechter als zwischen Codierung.

Beispiel:

Im Virtuellen Binary steht:

LibCall(graphics.library,BltBmapRastPort,12,34,56,67,$C0)

Im 68k steht so etwas wie

Move.l #12,D0
Move.l #34,D1
Move.l #56,D2
Move.l #78,D3
Move.l #$C0,D4
Move.l #123(a5),A6
Move.l #234(a5),A0
JSR #-178(A6)

Daraus kann ich keinen Libcall mehr unter AROS, MOS oder OS4 machen, jedenfalls nicht ohne größeren Aufwand. 68K Code ist eben nicht mehr "virtuell" in dem Sinne, dass man von dort aus auf alle Systeme herunterbrechen kann.


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

03.02.2009, 13:27 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

>Im Virtuellen Binary steht:

>LibCall>(graphics.library,BltBmapRastPort,12,34,56,67,$C0)

Das ist dann allerdings kein binary sondern ascii source.

>Tokenisieren sollte via Hash map oder Pre-Fix Tree >schnell gehen.
>Über AREXX würde ich ungern gehen wollen.

das tokeniesieren kannst du vollkommen sauber wie du willst im gekapselten preprocessor machen, indem du die Routinen beschleunigst, dann siehst du wieviel es an speed ausmacht mit untokeniesierten files zu arbeiten.

wie ich gesehen habe, hat Sven das amiblitzerror.txt file erzeugen rausgebaut.

Da stand dann drin, wieviele Zeilen amiblitz kompiliert hat und undere statistik Daten, oder wenn man nochmal nachschauen wollte, welcher error es war, ists auch praktisch.fände ich gut, wenn Sven das wieder deaktivieren könnte, ausserdem kann man auch externe editoren so benutzen

Dieser Beitrag wurde von bernd_ am 04.02.2009, 14:39 Uhr editiert.

04.02.2009, 14:38 bernd_ ist offline   Profil von bernd_ Füge bernd_ deiner Freunde-Liste hinzu Email an bernd_ senden
sebestien
Grünschnabel



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

Hallo Leute,

ich bin ganz neu hier im Forum und bin zu eurer Diskussion über einen Link in den Amiganews gestossen. Ich finde die Diskussion recht interessant und würde daher gerne auch etwas dazu sagen. Vorher möchte ich jedoch bemerken, dass ich seit Jahren nichts mehr für den Amiga entwickelt habe( zuzletzt während meines Studiums vor einer halben Ewigkeit), z.T. deshalb aber auch weil es eben damals, als ich noch die Zeit hatte privat etwas zu coden es mir zu umständlich war unter Windows für den Amiga etwas zu entwickeln.

Softwareentwickler, so mein Spruch, sind alle faul, daher programmieren wir ja auch so viel, damit wir weniger tun müssen

Ich bin also schon ein wenig raus, sprich ich kenne den Amiga nicht mehr so gut. Das gleiche gilt für AmiBlitz, meine Kenntnise hier sind bestenfalls Oberflächlich. Die Entwicklung von Parsern und Compilern (sind ja durchaus enger miteinander verbunden, ohne Parser keine Compiler), kenne ich zumindest in der Theorie, Parser habe ich wiederholt auch beruflich schon entwickelt, aber noch nie für einen Compiler. Ich kann mich also nur recht allgemein äußern und genau dass werde ich auch tun.

Es ist immer problematisch neue Software zu schreiben, Fehler sind einfach unumgänglich. Aber lieber nichts neues zu machen, weil das neue Fehlerbehaftet sein könnte, finde ich kein sehr gutes Argument. Stellt euch vor Commodore hätte damals genauso gedacht...wir würden jetzt wohl kaum an dieser Stelle diese Diskussion führen. Ob jemand dankbar ist oder nicht, kann eigentlich auch nicht wirklich wichtig sein oder hat einer von euch jemals etwas bekommen für die Arbeit die er in AB investiert hat? Ich denke nicht.

Es gab hier wiederholt das Argument, dass eine Neuentwicklung zu viel Arbeit machen würde. Wenn man wirklich alles neu machen müßte sehe ich das 100%ig genauso, da ich den Eindruck habe, dass nur 2 oder 3 Leute an dem Projekt arbeiten. Aber muß man denn wirklich alles neu machen und wenn ja alles aufeinmal? Ich bin mir da nicht so sicher. Wenn ich Der Wanderer (Thilo?) richtig verstehe geht es ihm vor allem darum, die Entwicklung flexibler zu machen u.a. auch im Hinblick auf die Zielplattform. Wobei ich nicht ganz sicher bin ob ich Thilo richtig verstanden habe, wenn er sagt dass er den Compiler entwickelt und jemand anderes den Codegenerator und gleichzeitig davon spricht das ganze an die GCC Suite anzubinden. Ich verstehe letzteres jetzt einfach mal so, dass er GCC zu generieren der Executables verwenden will. Er steuert das Compilerfrontend, sprich den Parser um den Sourceode in verwertbare Token zu zerlegen, während jemand anderes daraus dann das Backend macht und daraus dann asm-code erzeugt. Ganz richtig hat er daraufhin gewiesen, dass derjenige der diesen Job erledigt sich mit dem Zielsystem auskennen muss. Meines erachtens liese sich diese Problematik jedoch deutlich reduzieren, wenn man sich von vorn herein auf ein Framework wie z.B. Tk einigen würde. Wenn ich jetzt nichts ausser acht lasse(wie gesagt, ich bin kein Compilerbauer), könnte man dann Systemcalls von den Tk-libs praktisch durch die ganze Kette durchreichen und dann von GCC das Executable für das Zielsystem erzeugen lassen. Ausserdem würde die Sprache gleich um einen großen Vorrat an Funktionen bereichert werden. Nachteil ist der, dass man sich ein wenig selbst die Freiheit nimmt, denn das Cross-Entwickeln wäre hier z.B. nur für die von GCC und TK unterstützen Plattformen möglich. Ausserdem könnte man im ersten Ausbauschritt sich auf ein Backend einigen. Meines erachtens wäre es wahrscheinlich einfacher zunächst einen C-Converter zu entwickeln. Zum einen liegt C näher an Basic wie asm, zum anderen ist die Sprache an sich auch leichter zu beherschen wie asm.

Das Argument, dass A/A++ zwangsläufig langsameren Code erzeugen muss, kann ich aber nicht nachvollziehen. Wieso das? Ich sehe in den Konstrukten, die bisher in dieser Diskussion erwähnt wurden nichts dass diese These stützt. Laufzeitverluste ergeben sich in der Regel doch immer dann, wenn eine aufwendige Laufzeitumgebung parallel zum eigentlichen Programm "mitgeschleppt" werden muß. Daher laufen C++ Compilate oft eben länger wie entsprechende C-Compilate. Das ist auch einer der Gründe warum Java und .Net im Vergleich zu C langsamere Programme erzeugen, wobei hier auch noch die Tatsache eine Rolle spielt, dass diese Programme eigentlich ja interpertiert werden, auch wenn ständig von Just-in-Time Compilern die Rede ist. Das heißt ja nichts anderes, dass das Programm zur Laufzeit von der Virtualmachine (VM) in den nativen Code kompiliert wird. Es muß hier also zu Verlusten kommen!

So ich hoffe ich habe jetzt nicht zu viel Unsinn verzapft und konnte euch vielleich ein oder zwei Anregungen geben.

04.02.2009, 14:41 sebestien ist offline   Profil von sebestien Füge sebestien deiner Freunde-Liste hinzu
Honitos
König




Dabei seit: Mai 2002
Herkunft: Hambühren/Niedersachsen
Beiträge: 968
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträgen von Honitos suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von bernd_
wie ich gesehen habe, hat Sven das amiblitzerror.txt file erzeugen rausgebaut.

Da stand dann drin, wieviele Zeilen amiblitz kompiliert hat und undere statistik Daten, oder wenn man nochmal nachschauen wollte, welcher error es war, ists auch praktisch.fände ich gut, wenn Sven das wieder deaktivieren könnte, ausserdem kann man auch externe editoren so benutzen



Das habe ich nicht ausgebaut. Im Gegenteil: Das verwende ich ja, um den Compilerfehler anzuzeigen. Ich habe - glaube ich- nur den Speicherort verschoben.


__________________
On the web at http://www.programmed-excellence.de

04.02.2009, 17:22 Honitos ist offline   Profil von Honitos Füge Honitos deiner Freunde-Liste hinzu Email an Honitos 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

>Das ist auch einer der Gründe warum Java und .Net im >Vergleich zu C langsamere Programme erzeugen,

Es gab mal in ct ein vergleich.bei objectorienterten Programmen war das JAJA/.net Programm sogar meist schneller.

warum das ganze aber in der Praxis so lahm ist, ich denke das liegt an dem garbage collector, der bei java den speicher aufräumt.

und wegen dem neuschreiben, ists halt so, man sollte wissen, ob man Lust hat 1000 von Stunden reinzuhängen.Ich habe die nicht, weil ich amiblitz eh schon gut genug finde und wenn ich das mit C vergleiche ists weltklasse.Aber andere Dinge am Amiga sind wichtiger.Ich würde auch lieber ein erweitertes hd-rec sehen, als ein neueres TUI oder ein noch bessres amiblitz.

Ansonsten habe ich Thilo schon erklärt was er machen kann.Thilo gehört halt auch zu der Gattung, dass er keinen fremden Code will oder ein paar stunden investieren den zu verstehen.aber ich sehe schon, er sieht es ein und schaut sich doch den amiblitz code an und fängt nicht bei 0 an.hoffe nur es wird beim erweitern auch getestet, denn viel neuer code-> viele neue Fehler.

nen tui find requesert der stabil lief gab es sogar mal in amiblitz 2.den hat Sven rausgebaut, aber ich habe auch nur den tuited find requester genommen, weil ich TUI eh nicht verstanden hab.

Die Zeit mich mit einem GUI System ohne GUI Editor habe ich nicht und will ich auch nicht, anderswo hat man auch GUI editoren.

Ohne editor kostet es halt Zeit wenn man Fehler macht.
Das einer der ein GUI System selbst schreibt, ein GUI beim ersten Versuch richtig macht kann sein, aber gerade basic Coder machen eh nix ohne GUI Editor.

Das ist einfach zu umständlich und fehleranfällig bei nem grösseren GUI.

genauso wie man heutzutage grössere HTML Seiten schneller mit nem GUI macht.Das können dann auch nicht Computerexperten.

Dieser Beitrag wurde von bernd_ am 06.02.2009, 19:54 Uhr editiert.

06.02.2009, 19:33 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

@bernd

Ab3 wird auch wieder einen Findrequester haben der auf NTui aufbaut

Der da ist gerade bei mir im Testlauf...



bereitet aber noch kleinere Problemchen, weil Ntui noch nicht so fertig ist...

Erfreulich dabei ist aber, das der Requester unter MOS V1.4.5/aufwärts beim beenden nun AB3 nicht mehr trasht wie das Stormwizardpendant...Scheint da also im Messageloop was nicht so in Ordnung zu sein...


aber du hast schon recht, mit einem Editor könnte man schneller vorankommen, vorallem wenn man sich nicht mit den ganzen Tags auskennt, ist das suchen der richtigen umständlich...

Dieser Beitrag wurde von am 07.02.2009, 11:29 Uhr editiert.

06.02.2009, 20:02  
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

Sooo, nach einer Weile geht es nun an dieser Baustelle weiter:

Hier findet ihr einen ersten Entwurf der Specs für A/A++:

http://www.hd-rec.de/Archive/A.guide

Ist noch nicht ganz ausgearbeitet. Wenn ihr Wünsche oder Anregungen habt, oder einfach mal ein Code-Snippet posten wollt um zu sehen wie das in A aussehen würde, nur zu. Da kann ich dann auch gleich Testen, ob A effizient formuliert.

Speziell bei Pointern und bei der For-Schleife bin ich noch am Grübeln. Nach langem nachdenken habe ich gemerkt, dass nicht nur Amiblitz3, sondern auch C da nicht ganz konsequent sind, sondern einige "unlogische" Dinge tun, die dem Menschen aber evtl. einfacher fallen oder einfach Tipparbeit sparen.

Viel Spass bei dieser Klo-Lektüre!


Nachtrag:
Hier ist die Web-Freundliche Variante, für diejenigen die gerade keinen Amiga parat haben:
http://www.hd-rec.de/A/main.html


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

Dieser Beitrag wurde von Der_Wanderer am 13.04.2009, 22:47 Uhr editiert.

13.04.2009, 22:16 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
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

@Wanderer

Hmm, wenn ich mir u. a. die folgenden Zeilen ansehe:

myAlien.&Alien = New(Alien) ; create a new alien object
...
type::Init.? (var.&t)

möchte ich anfragen, ob auf die Sonderzeichen (&, ?) vielleicht noch verzichtet werden kann. Für Basic gehören sie nicht zum "allgemeinen Sprachgebrauch". Das würde eine Erleichterung für Anfänger, die ja im Allgemeinen zur Zielgruppe für Basic-Dialekte gehören, darstellen.

Das ist mir nur beim ersten Überfliegen aufgefallen. Ansonsten später mehr.

Danke für dieses Status-Update!
MfG
Andi

14.04.2009, 11:25 Andi ist offline   Profil von Andi Füge Andi deiner Freunde-Liste hinzu Email an Andi 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

Ja, mit Pointer wie ich schon schrieb, bin ich noch nicht ganz glücklich. Ich könnte auch "Referenzen" machen, und den Pointer & weglassen. Aber ich wollte, dass man Objekte sowohl als Pointer und als auch Type haben kann. So kann man z.B. Objekte in eine Strukur einbetten.


.? bezeichnet den Type "Bool". Weil .b schon an Byte vergeben ist. Alternative Typen Kürzel bitte vorschlagen! Glücklich bin ich damit auch nicht.


Das "&" referenziert ("holt sich den Pointer") eine Variable, das ist in fast allen Sprachen so, deshalb will ich das beibehalten.
In diesem Fall habe ich es in den Type übernommen, da es mir konsequenter erscheint.

Beispiel:

code:

Deklarieren:

C  : long * x;
AB3: *x.l
A  : x.&l

Bei der Verwendung als Pointer

C  : x = memaddr;
AB3: *x = memaddr
A  : x = memaddr

Bei der Verwendung des inhalts:

C  : *x;
AB3: geht nicht, man benötigit Peek.l(*x)
A  : *x

Bei der Zuweisung eines anderen Longs:

C  : x = &y;
AB3: *x = &y
A  : x = &y

Gleichzeitige Deklaration und Zuweisung:

C  : long * x = &y;
AB3: *x.l = &y
A  : x.&l = &y





Da finde ich A am konsequentesten, weil * nicht Pointer, sondern Dereferenzieren (Indirektion, Inhalt der Addresse holen) bedeutet. "Pointer auf" wird i. A. durch "&" ausgedrückt.

x.&l = &y.l (A++) finde ich intuitiv, dass es "pointer auf long" bedeutet. Bei *x.l = &y.l (Amiblitz) ist das nicht gegeben. Vor allem sollte das "&" in den Type, weil es Teil des Types ist, und nicht Teil des Variablen Namens, das wird häufig durcheinandergewürfelt.

Wäre das hier einleuchtender:

code:

myAlien.Alien = New(Alien) ; create a new alien object
...
Alien::Init.b(this.Alien) {
  ...
}



Das würde nur gehen, wenn man bei Objekten immer annimmt, dass es Pointer sind und keine bereits angelegte Strukur. Oder wie sollte man das sonst machen? (ist bei C++ genauso)


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

Dieser Beitrag wurde von Der_Wanderer am 14.04.2009, 15:29 Uhr editiert.

14.04.2009, 15:20 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

> Für Basic gehören sie nicht zum "allgemeinen
> Sprachgebrauch".
A/A++ ist kein Basic im klassichen Sinne. Es ist sowas wie "Easy C", was Amiblitz3 letztendlich auch ist. Es wird erst durch die Befehlsbibliotheken zu einer Art Basic, so wie SDL Basic.


> Das würde eine Erleichterung für Anfänger, die ja im
> Allgemeinen zur Zielgruppe für Basic-Dialekte gehören,
> darstellen.
Anfänger würde natürlich keine neuen Klassen schreiben und Pointer benutzen. Aber solche Konstrukure braucht man für Fortgeschrittene, damit man auch alles machen kann.
Ein Hello World würde nach wie vor ohne Pointer daher kommen:

code:

Print "Hello World\n"
End



Da wäre A/A++ sogar fast identisch mit Amiblitz3. Ich würde auch die wichtigsten Amiblitz3 Befehle wie z.B. "NPrint" nachprogrammieren, damit man sich "wie zuhause" fühlt.


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

Dieser Beitrag wurde von Der_Wanderer am 14.04.2009, 15:34 Uhr editiert.

14.04.2009, 15:32 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

Was sähe denn am schönsten aus:

code:

; ohne cryptische Zeichen, dann gehen aber nur Pointer und ist inkonsistent mit "normalen" Structs"
myAlien.Alien = New(Alien) ; create a new alien object
...
Alien::Init.b(this.Alien) {
  ...
}

; Amiblitz3 Style, Probleme mit dereferenzieren von primitiven Datentypen (geht nur über Peek)
*myAlien.Alien = New(Alien) ; create a new alien object
...
Alien::Init.b(*this.Alien) {
  ...
}

; * im Type statt Namen
myAlien.*Alien = New(Alien) ; create a new alien object
...
Alien::Init.b(this.*Alien) {
  ...
}

; & im Type
myAlien.&Alien = New(Alien) ; create a new alien object
...
Alien::Init.b(this.&Alien) {
  ...
}

; & im Namen
&myAlien.Alien = New(Alien) ; create a new alien object
...
Alien::Init.b(&this.Alien) {
  ...
}


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

Dieser Beitrag wurde von Der_Wanderer am 14.04.2009, 16:31 Uhr editiert.

14.04.2009, 16:12 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
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

Erstmal nur kurz zum Type Bool:
Kommt das "?" von Amiblitz? Ansonsten ist das mit so einem Bezeichner wirklich schwer zu machen und ich wäre für eine Typbezeichnung in Klammern: Var(Bool) oder so ähnlich.

14.04.2009, 16:40 Andi ist offline   Profil von Andi Füge Andi deiner Freunde-Liste hinzu Email an Andi 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

Nein, das kommt von mir. Mir ist kein besseres Kürzel für den type Bool eingefallen, weil .b schon als "Byte" fungiert.

Die Klammer wie in C wollte ich nicht, sondern die 68KASM Schreibweise wie es in Amblitz ist, einfach weil es kurz ist.

x.l = 5

ist schnell mal getippt.

(long) x = 5

oder sowas nervt schon und benütigt die Shift Taste.


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

14.04.2009, 16:44 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
[  «    1  2  3  4  5    »  ]   « Vorheriges Thema | Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu: