Hello, Guest the thread was called3.9k times and contains 31 replays

last post from Larry at the

BASIC ohne Zeilennummern schreiben

  • noch ein Versuch:


    Das Example.bpp lässt sich wunderbar mit bpp < example.bpp verarbeiten. Weiterverabeitung mit petcat über die Pipe geht auch.


    Mein simpler code aber nicht:


    print"hallo"
    loop: geta$:if a$=""then goto loop


    bpp bleibt immer am ersten Label im code hängen, egal was ich mache. Da bpp aber prinzipiell funktioniert mit den vorgegebenen Beispielen, raff ich nicht was ich scheinbar falsch mache.


    Tipps wären echt hilfreich.

  • Es sieht für mich so aus, als ob das Problem an der Verarbeitung von IF THEN Abfragen liegt.
    Hier mal ein Beispiel das auf Fehler läuft:



    Code
    1. prnt: print"hallo":a=0
    2. if a=0 then b=1

    Führt zu:


    0 print"hallo":a=0


    error: line 1: could not resolve label 'b'




    Das Beispiel aus Beitrag #21 führt scheinbar in eine bpp interne Endlosschleife.
    Mist, damit kann ich nun wieder rund 1.200 Zeilen Code von Hand mit Zeilennummern versehen :cry:
    @Henning sind für BPP noch Bugfixe geplant ?

  • Tja leider tut sich hier nicht viel. Eigentlich hat das Tool nur 2 kleine Bugs. Da ich aber in Ruby so fit bin wie ein ausgelatschter Turnschuh, frage ich mal in die Runde, wer hier ggf. helfen mag ?!


    Es werden Leerstrings wie i$="" nicht korrekt erkannt / übersetzt. Vermute da stimmt was mit dem escapen nicht ganz
    Und das "THEN" für zu Fehlern in der Übersetzung ins BASIC File. Völlig ohne THEN geht es, ist aber unschön. Alles nach THEN wird als Label / Sprungmarke erkannt bzw. gesucht auch ein If a=0 then b=1....


    Mehr eigentlich nicht.

  • Tja leider tut sich hier nicht viel. ...

    Tja, das mag daran liegen, daß Henning gerade wichtigere Dinge im Kopf hat...
    Und bitte nicht auf den angekündigten Zeitrahmen rumhacken: erstens kommt es immer anders und zweitens als man denkt.


    Leider kann auch ich Dir nicht mit RUBY helfen. Um es auch mit Bildersprache zu umschreiben: Ich bin darin so fit wie der Feldstein am Wegesrand.

  • Zitat:"It’ll be about one or two months from now."
    Datum: Jul 24, 2018


    Ich habe den Henning vor ca. einem halben Jahr dazu mal angeschrieben -> keine Rückmeldung.
    Klar, so'n Umzug, renovieren, einrichten etc. pp. ggf. Haus bauen kostet Zeit, kenne ich selbst.


    Deshalb ja meine Suche nach alternativer Hilfe.

  • "...then let..." führt nach wie vor zu:
    error: line 1: could not resolve label 'let b'


    Die Variante mit i$ würde zwar gehen in einer Abfrage, aber ich will ja auch manchmal i$ "leeren" mittels i$=""....

  • Das würde tatsächlich funktionieren, d.h. alles nach "THEN" wird nicht mehr als Label gesucht. Ist aber nicht wirklich schön, da "nur" Workaround.
    Trotzdem schon mal danke für den Tip.
    Und i$=xy$ geht natürlich so auch.

  • Ich muss das Thema noch einmal hoch holen. BPP ist vom H.Bekel leider bisher noch nicht korrigiert worden. Die Workarounds um die Fehler im Script zu umgehen, sind nicht wirklich schön.
    Es gibt Befehle, die nach einem THEN sauber verarbeitet werden, andere nicht. Und ich kann anhand des Ruby Codes nicht erkennen, woran das liegt (da fehlt mir einfach das Verständnis für Ruby und wie dort RegEx verwendet werden).


    Hier eine Liste der Befehle die gehen (ohne Semikolon) und welche wo nach THEN nach einem Label gesucht wird (mit Semikolon), jedenfalls die, die ich bisher ausprobiert habe:


    GET# fehlt als Keyword im Code, das hatte ich schon erweitert. Sinnigerweise wird GET# verarbeitet, GET dagegen nicht.
    ST, TI und TI$ fehlen ebenfalls als Keyword.


    C64 Studio als Alternative lässt sich zum verrecken nicht unter Linux starten. Aber es gefällt mir auch ehrlich gesagt nicht, wobei das nur mein persönlicher Geschmack ist...
    Mir ist halt Notepad++ lieber und wäre mit BPP perfekt, um damit größere BASIC Projekte anzugehen, ohne bei Erweiterungen / Änderungen am Code mit Zeilennummern hantieren zu müssen.