Кіріспе

Ada бағдарламалау тілі үшін еркін бағдарламалық компилятор

GNAT – Ada бағдарламалау тілі үшін еркін бағдарламалық компилятор, ол GNU Compiler Collection (GCC) құрамына кіреді. Ол тілдің барлық нұсқаларын қолдайды, яғни Ada 2012, Ada 2005, Ada 95 және Ada 83. Алғашқыда оның атауы GNU NYU Ada Translator деген сөздердің бас әріптерінен құралған еді, бірақ қазір бұл атау қолданылмайды. Оның алдыңғы бөлігі мен орындалу уақыты Ada тілінде жазылған.

Тарих

GNAT жобасы 1992 жылы АҚШ Әскери-әуе күштері Нью-Йорк университетіне (NYU) Ada 9X стандарттау процесіне көмектесу үшін Ada үшін тегін компилятор жасауға келісім-шарт бергенде басталды. 3 миллион долларлық келісім-шарт барлық әзірлемелер үшін GNU GPL қолданылуын талап етті және авторлық құқықтарды Free Software Foundation-ға жүктеді. GNAT-тың алғашқы ресми сертификациясы 1995 жылы өтті. 1994 және 1996 жылдары GNAT-тың бастапқы авторлары GNAT-ты дамыту және коммерциялық қолдауды қамтамасыз ету үшін Нью-Йоркте Ada Core Technologies және Парижде ACT Europe (кейін AdaCore SAS) атты екі серіктес компания құрды. Екі компания әрқашан біртұтас құрылым ретінде жұмыс істеді, бірақ 2012 жылға дейін AdaCore ретінде ресми түрде біріктірілмеді. GNAT бастапқыда GCC-нің негізгі кодтарынан бөлек шығарылды. 2001 жылдың 2 қазанында GNAT кодтары GCC CVS репозиторийіне қосылды. Жеке шығарылған соңғы нұсқа GNAT 3.15p болды, ол GCC 2.8.1 негізінде 2002 жылдың 2 қазанында жарық көрді. GCC 3.4 нұсқасынан бастап, басты платформаларда GCC-нің ресми нұсқасы GCC тестілеу жинағына кіретін ACATS Ada сынақтарының 100% -ын сәтті өте алады. GCC 4.0 нұсқасына қарай, экзотикалық платформалар да ACATS сынақтарының 100% -ын өте алды.

Лицензия

Компилятор GNU GPL 3+ лицензиясының GCC Runtime Library Exception ережесімен лицензияланған. Бұл AdaCore нұсқаларында орындалу уақытындағы қателер жойылды, сондықтан лицензиялық келісімді бұзудан сақтану үшін стандартты кітапханалармен байланыстырылған бағдарламалық құралдар GPL-мен үйлесімді лицензияға ие болуы керек. JGNAT – Ada бағдарламалау тілінен Java байт-кодына компиляциялайтын GNAT нұсқасы. dotNET үшін GNAT – Ada бағдарламалау тілінен NET Framework үшін Common Language Infrastructure және Mono және Portable ашық бастапқы кодты жүзеге асыруларына компиляциялайтын GNAT нұсқасы. NET.