Blaise — een nieuwe Pascal-compiler

Graeme Geldenhuys, grafisch ontwerper van gebruikersinterfaces fpGUIassemblagesystemen PasBuild, testsystemen FPTest en debugger opdebugger ingediend Blaise — een compiler voor het Object Pascal-dialect van de programmeertaal.

Het doel van de auteur was om een ​​taal te creëren die vrij was van de verouderde en vaak overlappende kenmerken die zich in de loop der decennia hadden opgehoopt.

De belangrijkste kenmerken van het nieuwe dialect:

  • Voor alle dynamisch gecreëerde objecten – strings, interfaces, klasse-instanties – wordt één automatisch controlesysteem gebruikt dat gebaseerd is op referentietelling.

  • Het objecttype is verwijderd en er wordt voorgesteld om in plaats daarvan record te gebruiken, waarvoor methodedefinities beschikbaar zijn.

  • De verouderde I/O-operatoren assign, reset, rewrite, blockread en de bestands- en teksttypen zijn verwijderd.

  • Er wordt één enkel tekenreekstype voorgesteld, ter vervanging van ShortString, AnsiString, WideString, OpenString en UnicodeString.

  • De `with`-instructie is verwijderd, omdat deze vaak leidde tot moeilijk te detecteren fouten.

  • Variabelen zijn nu gedefinieerd op het moment dat ze gebruikt worden.

Om machinecode te genereren, gebruikt de compiler QBE (c9x.me)Er wordt momenteel gewerkt aan een op LLVM gebaseerde generator.

De projectplannen omvatten het creëren van een LSP-server, taalondersteuning in Visual Studio Code en het ontwikkelen van een tool voor migratie van Delphi en Free Pascal.

Bron: linux.org.ru