Utvecklaren Boisy Petre har byggt en fristående BASIC-kompilator som använder LLVM som bibliotek, rapporterar The Register. Projektet heter basic09c och växte fram ur ett förslag på LLVM-suitens Discourse-forum om att lägga till en frontend för att kunna kompilera BASIC-kod.
Varken LLVM eller GCC stödjer BASIC direkt, så förslaget fyller en lucka. Det ursprungliga RFC:t handlade om att lägga till en BASIC09-frontend till LLVM, men har alltså landat i en egen kompilator som lutar sig mot LLVM under huven.
Vad är BASIC09 egentligen?
Det här är ingen vanlig hemdator-BASIC. BASIC09 var en av kompilatorerna som Microware erbjöd till sitt fleranvändar- och multitasking-operativsystem OS-9, ett Unix-likt system med rötter redan på 1970-talet. Språket är strukturerat på ett sätt som många förknippar med senare språk: namngivna procedurer med lokala variabler, konstruktioner som IF…THEN…ELSE och egendefinierade variabeltyper. Och nej, det krävde inga radnummer.
OS-9 har en undanskymd plats i datorhistorien. Det fanns som tillval till den brittiska Dragon 32 och var släkt med amerikanska Tandy Color Computer, som delade samma Motorola 6809-processor. Microware finns enligt The Register fortfarande kvar och stödjer OS-9, numera marknadsfört som ett realtidsoperativsystem. Vill du dubbelkolla statusen på språket eller operativsystemet i dag, kontrollera aktuella uppgifter direkt hos källan.
En historisk parentes är att många Mac-användare år 1999 förväxlade Apples då nya Mac OS 9 med Microwares betydligt äldre OS-9, vilket enligt rapporteringen ledde till att Microware stämde Apple för varumärket.
Vem ligger bakom?
Boisy Petre är ingen nykomling. Han arbetade på Microware tidigt i karriären och skrev artiklar om Tandy CoCo redan för ett kvarts sekel sedan. The Register lyfter särskilt fram hans tidigare retroprojekt Liber809 från 2012, där han bytte ut processorn i Ataris 8-bitarsdatorer mot en 6809 med tillhörande firmware. Tanken var att para ihop den mest avancerade 8-bitarsprocessorn med en av tidens kapablaste 8-bitarsdatorer, och köra NitrOS-9, en community-version av det ursprungliga 6809-OS-9.
1up:s läsning
Det här är hobbyprojekt snarare än branschnyhet, och det är just därför det är värt att uppmärksamma. Att någon orkar bygga en LLVM-baserad kompilator för ett språk vars naturliga hemvist är datorer de flesta aldrig sett, säger något om hur levande retroscenen är.
Det finns också en praktisk poäng. Att bygga ovanpå LLVM betyder att ett gammalt språk kan dra nytta av modern optimering och kunna riktas mot dagens processorer, i stället för att vara inlåst i sin samtids hårdvara. The Register noterar parallellen till att ALGOL-68 nyligen lades till i GCC. Gamla språk dör sällan helt, de byter bara verktygslåda.