Blaise — un nou compilator Pascal

Graeme Geldenhuys, designer de interfețe grafice cu utilizatorul fpGUI, sisteme de asamblare PasBuild, sisteme de testare Test FPT și depanator depanator de opțiuni a prezentat Blaise — un compilator pentru dialectul limbajului de programare Object Pascal.

Scopul autorului a fost de a crea un limbaj lipsit de trăsăturile învechite și adesea duplicate care se acumulaseră de-a lungul deceniilor.

Principalele caracteristici ale noului dialect:

  • Pentru toate obiectele create dinamic — șiruri de caractere, interfețe, instanțe de clasă — se utilizează un singur sistem de control automat bazat pe numărarea referințelor.

  • Tipul de obiect a fost eliminat și se propune utilizarea în schimb a tipului de „înregistrare”, pentru care sunt disponibile definiții de metode.

  • Operatorii I/O depreciați de tip assignment, reset, rewrite, blockread, precum și tipurile file și text au fost eliminați.

  • Se propune un singur tip de șir de caractere, care înlocuiește ShortString, AnsiString, WideString, OpenString și UnicodeString.

  • A fost eliminată instrucțiunea `with`, care ducea adesea la erori greu de detectat.

  • A fost adăugată definiția variabilelor la punctul de utilizare.

Pentru a genera cod mașină, compilatorul folosește QBE (c9x.me), un generator bazat pe LLVM este în curs de dezvoltare.

Planurile proiectului includ crearea unui server LSP, suport lingvistic în Visual Studio Code și crearea unui instrument pentru migrarea din Delphi și Free Pascal.

Sursa: linux.org.ru