Metakalba
Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius. Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais. |
Metakalba – specialios paskirties kalba, skirta kitų kalbų aprašymui. Vienas iš metakalbų atvejų – metametakalba, skirta metakalbų aprašymui. Metakalbos dažnai naudojamos, kaip pagalbinės metateorijų priemonės.
Metakalbos tikslas – suteikti priemones (terminus ir gramatiką), skirtą neprieštaringam kitos kalbos aprašymui, leidžiančiam vienareikšmiškai apibrėžti kalbos terminus bei taisykles, naudojantis metakalbos terminais ir taisyklėmis. Metakalbos terminai, naudojami kalbos terminų ir (arba) taisyklių apibrėžimui, vadinami metaterminais, yra naudojami kalbos gramatikos, bet ne terminų semantikos aprašymui. Kol kas nėra pilnai išspręstas klausimas, ar įmanoma neprieštaringa ir pilna pati save aprašanti metakalba (tai atrodo menkai įtikėtina dėl metateorijos keliamų prieštaravimų), tačiau gana akivaizdu, kad gyvosios (žmonių) kalbos priemonės turi pakankamas galimybes kitų kalbų aprašymui.
Metakalbos neretai naudojamos programavime, programavimo kalbų savybių aprašymui, kai kuriais atvejais tokios metakalbos gali būti nagrinėjamos, kaip specializuotos, transliatorių programavimo kalbos. Viena iš žinomiausių programavimo metakalbų yra John Backus ir Peter Naur sukurta BNF (Bekuso-Nauro Forma). Daugelis šiuolaikinių programavimo kalbų taip pat turi kai kurių metakalbinių bruožų (paveldėjimas, tipų apibrėžimai etc.)