Blaise — nowy kompilator Pascala

Graeme Geldenhuys, projektant graficznego interfejsu użytkownika fpGUI, systemy montażowe PasBuild, systemy testowe Test FPT i debugger debugger wprowadzono Blaise — kompilator dla dialektu języka programowania Object Pascal.

Celem autora było stworzenie języka wolnego od przestarzałych i często powtarzających się elementów, które gromadziły się przez dziesięciolecia.

Główne cechy nowego dialektu:

  • Dla wszystkich obiektów tworzonych dynamicznie — ciągów znaków, interfejsów, instancji klas — stosowany jest pojedynczy, automatyczny system sterowania bazujący na zliczaniu referencji.

  • Usunięto typ obiektu i zaproponowano zamiast niego użycie rekordu, dla którego dostępne są definicje metod.

  • Usunięto przestarzałe operatory wejścia/wyjścia: przypisywanie, resetowanie, przepisywanie, odczyt blokowy oraz typy plików i tekstu.

  • Zaproponowano pojedynczy typ ciągu znaków, zastępujący ShortString, AnsiString, WideString, OpenString i UnicodeString.

  • Usunięto polecenie with, które często prowadziło do trudnych do wykrycia błędów.

  • Dodano definicję zmiennych w miejscu użycia.

Aby wygenerować kod maszynowy, kompilator używa QBE (c9x.me)Trwają prace nad generatorem bazującym na LLVM.

Plany projektu obejmują utworzenie serwera LSP, obsługę języka w Visual Studio Code oraz utworzenie narzędzia do migracji z Delphi i Free Pascal.

Źródło: linux.org.ru