Издање преводиоца програмског језика Вала 0.54.0

Објављена је нова верзија преводиоца програмског језика Вала 0.54.0. Језик Вала је објектно оријентисани програмски језик који обезбеђује синтаксу сличну Ц# или Јава. Вала код се преводи у Ц програм, који се, пак, компајлира од стране стандардног Ц компајлера у бинарну датотеку и извршава се брзином апликације компајлиране у објектни код циљне платформе. Могуће је покренути програме у режиму скрипте. Језик се развија под окриљем ГНОМЕ пројекта. Гобјецт (Глиб Објецт Систем) се користи као објектни модел. Код компајлера се дистрибуира под лиценцом ЛГПЛв2.1.

Језик има подршку за интроспекцију, ламбда функције, интерфејсе, делегате и затварања, сигнале и слотове, изузетке, својства, типове који нису нулти, закључивање типа за локалне варијабле (вар). Управљање меморијом се врши на основу бројања референци. За језик је развијена општа програмска библиотека либгее која пружа могућност креирања колекција за прилагођене типове података. Подржано је набрајање елемената колекције помоћу израза фореацх. Програмирање графичких програма врши се коришћењем ГТК графичке библиотеке.

Комплет долази са великим бројем веза за библиотеке у језику Ц. Вала преводилац пружа подршку за Гение језик, који пружа сличне могућности, али са синтаксом инспирисаном програмским језиком Питхон. Програми као што су Геари емаил клијент, графичка шкољка Будгие, програм за организацију фотографија и видео датотека Схотвелл и други написани су на језику Вала. Језик се активно користи у развоју дистрибуције Елементари ОС.

Главне иновације:

  • Додата подршка за делегате са променљивим бројем параметара;
  • Додат ЛИБЦ профил, који је синоним за ПОСИКС профил;
  • Побољшано генерисање у режиму ПОСИКС профила;
  • Додата могућност да се декларишу променљиве које могу имати нулту вредност са закључивањем типа (вар?);
  • Додата могућност проглашења класа забрањених за наслеђивање (запечаћене);
  • Додан оператор безбедног приступа пољима класе која могу бити нулл (а.?б.?ц);
  • Дозвољена иницијализација садржаја структуре на нулл (цонст Фоо[] БАРС = { { "бар", 42 }, нулл };);
  • Операција ресизе() је забрањена за константне низове;
  • Додан излаз упозорења када покушавате да пребаците позив функције на воид ((воид)нот_воид_фунц(););
  • Уклоњено ограничење за типове елемената ГЛиб.Арраи;
  • Поправљено наслеђивање власништва „непоседованог вар“ у фореацх() изјави;
  • Везивање за вебкит2гтк-4.0 је ажурирано на верзију 2.33.3;
  • Везивање за гстреамер је ажурирано на верзију 1.19.0+ гит мастер;
  • Везивање за гтк4 је ажурирано на верзију 4.5.0~е681фдд9;
  • Везивање за гтк+-3.0 је ажурирано на верзију 3.24.29+ф9фе28це
  • Везивање за гио-2.0,глиб-2.0 је ажурирано на верзију 2.69.0;
  • За линук, додата су везивања за СоцкетЦАН;
  • Исправке у везама за глиб-2.0, гио-2.0, гстреамер-ртп-1.0, јавасцриптцорегтк-4.0, гобјецт-2.0, панго, линук, гсл, рест-0.7, либусб, либусб-1.0, пикман-1, вебкит-2гтк-вебкит-4.0гтк проширење-11, кXNUMX, злиб, гнутлс;
  • Уклоњене везе гедит-2.20 и вебкит-1.0;
  • Ажуриране везе на основу ГИР-а;
  • Систему за тестирање је додата могућност провере генерисаног Ц кода;
  • Побољшан гирпарсер, гирвритер, валадоц, либваладоц/гиримпортер;
  • Нагомилане грешке и недостаци разних компајлерских компоненти су поправљени.

Извор: опеннет.ру

Додај коментар