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:
test:
if a=3 then test
if a=3 then goto test
if a=3 then gosub test
if a=3 then print"test"
if a=3 then print#15,i$
if a=3 then input"test",a
if a=3 then input#14,i
if a=3 then get#15,a$
if a=3 then cmd#15
if a=3 then return
if a=3 then load"test",8
if a=3 then save"test",8
if a=3 then verify"test",8
if a=3 then clr
if a=3 then new
if a=3 then restore
if a=3 then list
if a=3 then end
if a=3 then run
if a=3 then fre(0)
if a=3 then rnd(10)
if a=3 then stop
; if a=3 then poke 49152,1
; if a=3 then open 1,8,1,"i"
; if a=3 then close 1
; if a=3 then for i=0 to1:next
; if a=3 then sys49152
; if a=3 then left$(a$,3)=a$
; if a=3 then right$(a$,1)=a$
; if a=3 then read a$
; if a=3 then wait 198,1
; if a=3 then get a$
; if a=3 then usr 5*17
; if a=3 then def fn x
; if a=3 then b=2
; if a=3 then b=peek(41952)
; if a=3 then if a$="1" then b=2
; if a=3 then let b=1
; if a=3 then rem test
; if a=3 then rem test:b=1
; if a=3 then dim a(50)
; if a=3 then on a goto test
; if a=3 then tt=st
; if a=3 then ti$="000000"
Alles anzeigen
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.