[!WIP!] Cevi Basic Compiler

Es gibt 7 Antworten in diesem Thema, welches 2.536 mal aufgerufen wurde. Der letzte Beitrag (26. September 2008 um 21:46) ist von BastetFurry.

  • Wollt euch nur mal zeigen woran ich grade rumspiele.
    Achtung, Alpha die noch nicht wirklich was kann.
    Wer unter Windows damit rumspielen will braucht neben ACME auch noch FreeBASIC von Bitte melde dich an, um diesen Link zu sehen. um sich eine Win32 Binary des Compilers zu bauen.

    Achja, ich sollte dabei sagen das ich von Compilerbau eigentlich absolut keinen Plan habe, aber da mir ja keiner einen BASIC CrossCompiler bauen will mach ichs jetzt halt selber so gut wie ich kann. ;)

    EDIT:
    Ab jetzt, hier das ChangeLog:
    Cevi Basic Compiler Changelog
    0.0.2
    - Some clean up
    - Compiler error handler seperated
    - IF implemented so that one can compare bytes

    0.0.1
    - Initial release, cant do much

  • klasse!

    Ist auch das compilieren von ganz normalen BasicPrg geplant (wegen dem 'as ubyte' oder 'inc testbyte') oder wird es eine art erweitertes Assembler mit dem Komfort von Basic sein(string, evtl. Floatingpoint)?

  • Das wird am Ende soweit QBasic Kompatibel sein wie es Sinn macht, also schon ein etwas moderneres Basic, inklusive einiger Befehle (wie das INC und DEC) die an die CPU Verhältnisse angepasst sind.

    Ein INC auf ein Byte, oder eine Adresse, kann man halt direkt in ein inc $1234 verwandeln.

    Natürlich kann man da auch Zeilennummern einbauen, ich rate dann aber von ihrer Nutzung ab und ich selber werde sie nicht implementieren.
    Ich will ein Modernes Basic für unseren Brotkasten ;)

    Das CBM Basic ist ja schon ausgeschaltet, der Kernal bleibt aber an um die vielen Speeder zu unterstützen.

    Was auch drin ist, der Compiler wählt die passende Form für Rechungen. Wenn ich nur zwei Bytes in ein anderes Byte zusammenrechne brauch ich keinen Umweg über irgendwelche Routinen, also aus
    a = b + c
    wird
    lda UV_b
    clc
    adc UV_c
    sta UV_a

    Muss man sich nur ansehen wie sich das bei Vorzeichen Bytes verhält, vielleicht muss man das da noch anders machen.
    Was auch zu Gunsten der Geschwindigkeit geplant ist, ist das der Compiler keine Prüfungen einbaut ob man Beispielsweise grade über die Grenzen eines Arrays schreibt.

    Das Teil wird ja auch mit Absicht in Basic geschrieben, so kann die Zielgruppe, Basic Programmierer, mit entwickeln.

    Meine Wishlist für Helfer:
    - Schnelle und nach Möglichkeit kompakte Assembler Routinen für Vorzeichen Integer und Fließkomma Mathe.
    - Grafikroutinen.
    - Quälprogramme für den Compiler, auch die Bibliotheksroutinen. Macht jeden erdenklichen Scheiss der Syntaktisch korrekt ist aber eigentlich so nicht geplant war.
    - Routinen für LOAD, SAVE, MKDIR, DIR und CD die sich bedienen wie Kernalroutinen aber das MMC64 zum Ziel haben.
    - Assemblerroutinen die Arrays in die REU verbannen können und von dort wieder hervor holen.
    - Mein grässliches Englisch in den Kommentaren korrigieren :)

    Ich mach das zwar auch alles im Alleingang weil ich es haben will, aber wie gesagt, ich arbeite daran wie ich Zeit habe und ich bin nicht wirklich der Coder vor dem Herrn. :)

    Blog: Bitte melde dich an, um diesen Link zu sehen. - The Seventies Board: Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ein Terminal und ein Z80 :D

  • Update!
    Siehe erstes Posting :)

    Blog: Bitte melde dich an, um diesen Link zu sehen. - The Seventies Board: Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ein Terminal und ein Z80 :D

  • Fürs erste ja, ich mach das bei Zeiten nochmal neu, passt mir alles nicht wie das Teil läuft.

    Andersrum hab ich grade auch andere Hochzeiten... ;)

    Blog: Bitte melde dich an, um diesen Link zu sehen. - The Seventies Board: Bitte melde dich an, um diesen Link zu sehen. Bitte melde dich an, um diesen Link zu sehen.

    Ein Terminal und ein Z80 :D