Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Freebasic compiler 0.01

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
marzec



Anmeldungsdatum: 13.10.2004
Beiträge: 267

BeitragVerfasst am: 31.10.2004, 07:29    Titel: Freebasic compiler 0.01 Antworten mit Zitat

hallo,

auf die gefahr hin das es jemanden interessiert:

v1ctor (der typ der mit blitz die ugl lib gebastelt hat) hat innerhalb der letzten 2 monate einen 32-bit protected mode basic compiler geschrieben, der qb/vbdos/pb kompatible ist. das ding is zur zeit in einem alpha betta gamma delta stadium, sprich nicht bugfrei. aus diesem grunde gibts hier mal eine vorabversion http://freebasic.bad-logic.com/downloads/freeBASIC_preview.rar

bissi details:

* 32-bit compiler,geschrieben mit vbdos!!! (deswegen zur zeit auf 2000 varnames/funcnames/typenames/constantnames beschränkt, wird sich bald ändern)

* produziert win32 executables

* wunderfeinstens optimiert und schlägt performancemäßig alle anderen basic compiler da draußen

* leichte einbindung von c libs (blitz hat heute gl/glu/glut geportet ich die sdl beides nocht nicht 100% ausgestestet bzw. 100% fertig wegen der 2000 symbols grenze...)


jeder der dazu beitragen möchte diesem compiler ruhm und ehre zu verschaffen, sowie ihn so bugfrei wie möglich zu machen möge sich doch bitte am besten auf forum.bad-logic.com erkundingen im forum compiler coding thread freebasic, dort gibts auch immer die aktuellsten neuigkeiten.

gut,
mario
_________________
Yagl - yet another gameprogramming library
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
helium



Anmeldungsdatum: 10.09.2004
Beiträge: 397
Wohnort: Leverkusen

BeitragVerfasst am: 31.10.2004, 12:44    Titel: Antworten mit Zitat

Zitat:
* 32-bit compiler,geschrieben mit vbdos!!! (deswegen zur zeit auf 2000 varnames/funcnames/typenames/constantnames beschränkt, wird sich bald ändern)

OK, Basic ist recht leist zu parsen, ansonsten würde ich ihn für verückt erklären, sowas in vbdos zu machen.
Und das man mehr Bezeichner verwenden können wird, wird dann wohl daran liegen, das sich das Ding dann endlich selbst übersetzt, richtig?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
marzec



Anmeldungsdatum: 13.10.2004
Beiträge: 267

BeitragVerfasst am: 31.10.2004, 16:36    Titel: Antworten mit Zitat

genau das...

scheint aber hier niemanden zu interessieren....
_________________
Yagl - yet another gameprogramming library
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 31.10.2004, 17:29    Titel: Antworten mit Zitat

doch, ich find das durchaus interessant.

Muss mir jetzt für diesen PC erstmal ein WinRAR besorgen und dann schau ich mir das teil mal an! lächeln

Wenn (so um Silvester rum) meine neue Page online geht, werde ich warscheinlich auch einen Artikel drüber schreiben (falls es mir zusagt) lächeln

Grüßle,
Mecki
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
luckyfreddy



Anmeldungsdatum: 02.09.2004
Beiträge: 78
Wohnort: Erkrath-Hochdahl (b. Düsseldorf)

BeitragVerfasst am: 01.11.2004, 04:44    Titel: Antworten mit Zitat

Hört sich ja durchaus gut an lächeln

Die Frage ist wann eine gute IDE dazukommt, denn dann dürften auch PC-Zeitschriften an dem Ding interesse zeigen und damit schon für die bekanntheit sorgen lächeln


Von wegen Performance wollte ich noch sagen:
ptc_test.exe lässt mit dieser "leichten" Aufgabe meinen P2-350MHz auf 100% Prozessorauslastung laufen :-/
Nur die 8KB-Dateigröße sind unschlagbar zwinkern
_________________
Gegen Kummer, Angst und Depressionen: Kummerboard.com
Freiwillige Helfer sind gern gesehen! Alles ehrenamtlich!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
Blitz
Gast





BeitragVerfasst am: 01.11.2004, 06:31    Titel: Antworten mit Zitat

Hey helium, parse this a(b).c.d(e).f->g.h(i,j,k)(arg1,arg2,arg3)
Nach oben
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 01.11.2004, 13:11    Titel: Ich finde das auch cool. Antworten mit Zitat

Hallo.

Ich finde die Idee auch cool. Wenn das auch noch alles gut und zuverlässig funktioniert, bin ich echt begeistert! happy

Viele Grüße!
Sebastian
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
helium



Anmeldungsdatum: 10.09.2004
Beiträge: 397
Wohnort: Leverkusen

BeitragVerfasst am: 01.11.2004, 18:25    Titel: Antworten mit Zitat

Zitat:
Die Frage ist wann eine gute IDE dazukommt, denn dann dürften auch PC-Zeitschriften an dem Ding interesse zeigen und damit schon für die bekanntheit sorgen

Glaubst du? Und wie kommst du darauf? Ich meine es gibt genügend andere Sprachen mt guten IDEs, die kaum einer kennt.

Zitat:
Hey helium, parse this a(b).c.d(e).f->g.h(i,j,k)(arg1,arg2,arg3)

Verstehe ich jetzt nicht ganz verwundert
Soll ich sagen, das V1ctor generell verrückt ist? Oder was willst du erreichen.
Natürlich hätte ich soetwas nie und nimmer in VB-DOS gemacht, sondern in O'Caml, aber wenn er das toll findet, sowas in VB-DOS zu machen, ist das doch nicht mein Problem.
Ich habe des weiteren nie Behauptet, das es eine generell einfache Aufgabe ist, dennoch ist das Parsen von Basic-Code in der Regel deutlich leichter, als das vieler anderer Sprachen, insbesondere C++ (man denke an Template-Code).

Also, ich würde sagen: da wird eine Funktion 'a' mit dem Argument 'b' aufgerufen. Die leifert eine Struktur, mit einem Element 'c'. Diese ist wiederum eine Struktur, die eine Funktion (Methode) namens 'd' enthält, die mit einem Argument 'e' aufgerufen wird, die eine Struktur liefert, die einen Zeiger namens 'f' enthält. Der verweist auf etwas, das ein Element 'g' enthält, das wiederum eine Struktur ist, die eine Funktion 'h' enthält, die mit den Argumente 'i', 'j' und 'k' aufgerufen wird und selbst eine Funktion zurückgibt (also eine Funktion höherer Ordnung ist), die dann mit den Argumenten 'arg1', 'arg2' und 'arg3' aufgerufen wird. Selbstverständlich muss es sich nicht Zwangsläufig bei allem, was ich als Funktion bezeichnet habe auch um eine Funktion handeln, sondern kann auch etwas sein, das sie wie eine Funktion aufrufen lässt (in C++ Funktoren genannt).
_________________
Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
marzec



Anmeldungsdatum: 13.10.2004
Beiträge: 267

BeitragVerfasst am: 02.11.2004, 11:41    Titel: Antworten mit Zitat

wie bereits gestern im irc channel diskutiert is basic bei weitem nicht einfach zu parsen, aber das soll hier nicht gegenstand der diskussion sein...

wieso würdest du O'Calm verwenden? wo liegt da der vorteil?

und ja v1ctor is verrückt... der grund warum er vbdos als seine zielsprache verwendet hat ist, dass die syntax der von freebasic am nächsten kommt, und daher das selbstkompilieren des compilers am einfachsten ist.

sou....
_________________
Yagl - yet another gameprogramming library
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
helium



Anmeldungsdatum: 10.09.2004
Beiträge: 397
Wohnort: Leverkusen

BeitragVerfasst am: 02.11.2004, 20:00    Titel: Antworten mit Zitat

Zitat:

wieso würdest du O'Calm verwenden? wo liegt da der vorteil?


Weil ich mit den Discriminated Unions die EBNF-Synthax fast eins zu eins in mein Programm bauen kann und dank Patternmatchings auch auf einfache Art bearbeiten kann. O'Caml hat eigene LeX und Yacc Tools, die es wohl kaum hätte, wenn die Sprache nicht für diese Aufgabe geeignet wäre.
Allgemein ist das Arbeiten mit jeglicher Art von rekursiven Strukturen in O'caml recht angenehm (im Gegensatz zu allen Basics und C-Abkömmlingen, von denen ich gehört habe, JMatch mal ausgenommen) und beim Parsen entstehen nunmal rekursive Strukturen.


Zitat:
und ja v1ctor is verrückt... der grund warum er vbdos als seine zielsprache verwendet hat ist, dass die syntax der von freebasic am nächsten kommt, und daher das selbstkompilieren des compilers am einfachsten ist.

Klingt für mich nach einer vollkommen rationalen, vernüpftigen Begründung und nicht danach, als sei er verrückt.
_________________
Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
marzec



Anmeldungsdatum: 13.10.2004
Beiträge: 267

BeitragVerfasst am: 03.11.2004, 07:49    Titel: Antworten mit Zitat

@helium was auch immer... lächeln

hab heute nacht schnell einen kleinen preprozessor geschrieben, wer interesse hat den auszutesten:

http://ratatoskr.bad-logic.com/temp/pp.zip

folgendes wird angeboten

* '$include: 'FILENAME' -> binde FILENAME in die aktuelle datei ein
* '$define -> definiere ein SYMBOL
* '$ifdef / ifndef SYMBOL -> falls das symbol definiert / nicht definiert ist schreibe alles im nächsten block in das outputfile
* '$else -> sollte die bedingung nicht zu getroffen haben schreiben den block nach dem else in das output file
* '$endif -> if block abschließen

mehr is es derzeit nicht, aber doch genug um bedingte kompilierung und include guards zu realisieren. if blöcke können so oft verschachtelt werden wie es dem user beliebt. als ergebnis spuckt der pp ein file namens output.txt aus in dem dann alles drinnen stehen sollte was reingehört (includefiles, blöcke etc.)
aufgerufen wird das ding so:

tokenizer FILENAME

jo das wärs, ich verbiete mir jeglichen kommentar zum code und zur wahl der programmiersprache lächeln
_________________
Yagl - yet another gameprogramming library
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
marzec



Anmeldungsdatum: 13.10.2004
Beiträge: 267

BeitragVerfasst am: 05.11.2004, 05:54    Titel: Antworten mit Zitat

luckyfreddy hat Folgendes geschrieben:

Von wegen Performance wollte ich noch sagen:
ptc_test.exe lässt mit dieser "leichten" Aufgabe meinen P2-350MHz auf 100% Prozessorauslastung laufen :-/
Nur die 8KB-Dateigröße sind unschlagbar zwinkern


hehe die prozessorauslastung hat aber wirklich gar nix mit der performance zu tun gell zwinkern
_________________
Yagl - yet another gameprogramming library
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
helium



Anmeldungsdatum: 10.09.2004
Beiträge: 397
Wohnort: Leverkusen

BeitragVerfasst am: 05.11.2004, 11:10    Titel: Antworten mit Zitat

Bin greade nicht zuhause, werde es mir aber ansehen.

Ansonsten: wirkt der Beschreibung nach wie der C-Präprozessor. Vielleicht mal Stoustrups Proposal zu dem Thema (#scope, ...) ansehen?
_________________
Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Gast






BeitragVerfasst am: 05.11.2004, 19:19    Titel: Antworten mit Zitat

jo is an den c-pp angelehnt, die version is aber schon obsolet

http://ratatoskr.bad-logic.com/ppbasic.rar

das wäre die neuerste
Nach oben
marzec



Anmeldungsdatum: 13.10.2004
Beiträge: 267

BeitragVerfasst am: 06.11.2004, 18:17    Titel: Antworten mit Zitat

btw, die commands san case-sensitive und müssen so ausschaun

'$include: 'XXX'
'$define VALUENAME VALUE wobei man VALUE auch weglassen kann, strings als values müssen in anführungszeichen gesetzt werden z.B.:

'$define VALUENAME "value"

'$ifdef
'$ifndef
'$else
'$endif

guti...
_________________
Yagl - yet another gameprogramming library
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Off-Topic-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz