Ըստ ծագման` լեզուները կարելի է բաժանել երկու խմբի` ա) բնական (կենսաբանական), մարդկային էվոլյուցիայի հետեւանքով առաջացած եւ բ) արհեստական (ձեւական)` մարդու կողմից մշակված: Առաջին խմբի օրինակներ են մարդկությանը հայտնի կենդանի եւ մեռյալ լեզուներն ու բարբառները: Սրանք արտադրել եւ արտադրում են ինչպես բանավոր, այսինքն` ձայնային պատկերների, այնպես էլ գրավոր` գրանշանների, համակցություններ:
Ձեւական լեզուները` մաթեմատիկան եւ ծրագրավորման լեզուները, գրավոր (ավելի ստույգ` ոչ ձայնային) խոսք են արտադրում: Առաջին դեպքում դրանք բանաձեւերն են, իսկ երկրորդ դեպքում` ծրագրերը:
Սրանց տարբերությունները բնական լեզուներից հետեւյալն են`
արտադրողական օրենքների պարզությունը եւ, գործնականում, բացառությունների բացակայությունը
միայն գրավոր լինելը
իրադրաժամանակի բացակայությունը. ծրագրավորման լեզուների համար կարելի խոսքի երկու կերպ առանձնացնել` հաջորդական եւ զուգընթացային
եղանակների սակավությունը`
մաթեմատիկայում երկուսն են` պատմողական (պնդում, նշանակում) եւ դատողական
ծրագրավորման լեզուներում` պատմողական (ստորոգելիական), հարցական (պայմանական), եւ հրամայական:
Վերջիններիս քերականությունը կարող է լինել պարզ եւ բարդ, ինչպես նաեւ ունենալ հատկությունների տարբեր բազմություններ: Օրինակ` թվանշանների տասնական ներկայացման մաթեմատիկական [ենթա]լեզուն արտադրում է թվանշաններով ներկայացված խոսք (թվեր), որոնք կարելի է փոխակերպել բառանշաններով (բնական խոսքով)` 2017 - «երկու հազար տասնյոթ», կամ թվաբանական խոսքից` «2017 - 60 = 1957» նախադասությունը թարգմանվում է որպես «երկու հազար տասնյոթից հանած վաթսուն հավասար է հազար ինը հարյուր հիսունյոթի»:
Մաթեմատիկան կամ ծրագրավորման լեզուները նկարագրվում են մետամաթեմատիկական լեզվով, որի արտադրանքը համապատասխանաբար ընդհանրական մաթեմատիկական կամ մասնավոր ծրագրավորման լեզուն է: Այսինքն, մետալեզվի խոսքը լեզու է, որով, օրինակ, բանաձեւեր կամ ծրագրեր են գրում: Սրանք համապատասխանաբար մաթեմատիկական եւ ծրագրավորման լեզուների խոսքն են հանդիսանում:
Աշխատության սահմաններում բնական լեզունրի, մասնավորապես` հայերենի, քերականությունը ներկայացվում է որպես կոնտեքստազերծ (context-free) լեզու [Cho1963]: Այսպիսի լեզուները նկարագրվում են Բեկուս-Նաուրի ձեւով (BNF), որը մի քանի տասնամյակ օգտագործվում է ձեւական, մասնավորապես` ծրագրավորման լեզուներ սահմանելիս (առաջինը FORTRAN-ն էր, 1950-ականներին):
Այստեղ հայերենի ե՛ւ ձեւաբանական, ե՛ւ շարահյուսական կաղապարները ըստ էության նկարագրվում են BNF մետալեզվով, ձեւավորվում է ոչ թե ավանդական արտադրողական, այլ համակցություններ սահմանող բանաձեւերով, ինչպես նաեւ աղյուսակներով: Երկու դեպքում էլ նկարագրվում են եզրերից կամ սրանցից սերված նշաններից նոր նշանների շարքեր արտադրելու օրենքները:
--
[Cho1963] N. Chomsky, M.P. Schützenberger, The algebraic theory of context free languages". In P. Braffort, D. Hirschberg (eds.).
Comments