Hi,
ich habe mal schnell einen Interpreter für die Sprache HQ9+fuck zusammengezimmert. Er ist sehr quick&dirty.
HQ9+fuck ist eine Kombination der Programmiersprachen HQ9+ und brainfuck, welche die Vorteile beider vereint.
Der Interpreter ist ein Konsolenprogramm, an welches man den Namen der Textdatei (
ASCII-Codierung) als Parameter übergibt, welche den Sourcecode enthält.
Im Anhang finden sich vorcompilierte Programme für Windows (x86 32 und 64 Bit) und Linux (x86 32 Bit), Beispielprogramme und eine Readme-Datei inklusive Erklärung der HQ9+fuck Sprache.
Der Interpreter ist auch teilweise Kompatibel zu reinen HQ9+ oder Brainfuck Programmen.
Brainfuck-Programme dürfen keine Zeichen H, Q oder 9 (in Kommentaren) enthalten oder sie müssen mit dem Schalter -bf gestartet werden. Sollten sie eine bestimmte Wortgröße erfordern, so muss der entsprechende Schalter angegeben werden.
HQ9+ Programme müssen in Großbuchstaben geschrieben sein (also nicht h oder q), da HQ9+fuck case-sensitiv ist (und natürlich dürfen sie auch keines der Zeichen -<>,.[] enthalten die aus Brainfuck entwendet wurden).
Das Programm steht unter der
GPL.
Changelog:
Code:
[b]0.0.3[/b] - Eingabemethode ist schaltbar[list][*]Bei Problemen kann die Eingabenethode per -key umgestellt werden.[*]Vergesst die 0.0.2, jetzt das gleiche anders gelöst[*]FPC StdErr statt ErrOutput verwendet (letztere besteht angeblich nur aus Kompatibilität zu Delphi)[*]Exitcode / Errorlevel jetzt ohne den bekloppten halt Befehl[/list]
[b]0.0.2[/b] - Eingabe per ReadKey?[list][*]Jetzt ist es auch möglich (und im Standard so gemacht), beim compilieren ReadKey statt read zum Einlesen einer Eingabe zu nutzen. Leider funktioniert damit das Umleiten der Standardeingabe nicht mehr richtig oder so :-([/list]
[b]0.0.1[/b] - Speed![list][*]Grundlegende Designüberarbeitung: Der Interpreter interpretiert nun Bytecode (bzw. ein Array), welcher von einem Compiler erzeugt wird[*]Erarbeitung eines Konzepts für Optimierungen --> mehr Speed![*]Errorlevels teilweise dokumentiert[*]neue undokumentierte Parameter[*]Kompatibilitätsmodus für reine Brainfuck-Programme[/list]
[b]0.0.0[/b] - Kompatibilität[list][*] Jetzt werden auch verschachtelte Schleifen unterstützt[*]Kompatibilitätsmodi für 7, 8, 16 und 32 Bit[*]Gibt Errorlevels zurück (bisher undokumentiert)[*]verbesserte Fehlerbehandlung[*]...[/list][b]<kannte keine Versionsnummer>[/b]
Erste Veröffentlichung
Gruß
FAlter
[edit] Mein 1000. gezählter Beitrag! Ist ja passend dass ich genau da mit einer neuen Programmiersprache ankomme. [/edit]