Синтаксис–бу алфавитдан фойдаланилган ҳолда бирор алгоритмик тилда ишлатилиши мумкин бўлган конструкцияларни аниқловчи қоидалар системасидир. Бу конструкциялар орқали алгоритмлар ифодаланади. Шундай қилиб, синтаксис ҳар бир символлар кетма-кетлигининг берилган тилдан фойдаланиш мумкинлигини ёки мумкин эмаслигини аниқлаб беради.
Семантика–бирор алгоритмик тил конструкцияларини маъноси жиҳатидан текширувчи қоидалар системасидир. Бирор алгоритмик тилнинг синтактик қоидаларини ифодалаш учун махсус ёрдамчи тилга–метатил деб аталади. Энг кенг тарқалган метатиллардан бири Бекус–Наурнинг металингвистик формулалари ва синтактик диаграммаларидир. Бир алгоритмик тилнинг қонун қоидаларини аниқ ва бир қийматли аниқлаш учун махсус тушинча ва белгилар зарур бўлади. Тилнинг ҳар бир тушинчаси учун ягона метоформула мавжуд бўлиши керак ва унинг гап қисмида киритилаётган тушинча, яъни метаўзгарувчи кўрсатилади. Ўнг томонда эса, метоўзгарувчининг қабул қилиши мумкин бўлган қийматлар тўплами келтирилади. Одатда метоўзгарувчилар махсус < >кавслар ичида ёзилади. Масалан: <сон>, <арифметик ифода>. Метоформуланинг чап ва ўнг қисмлари махсус метосимвол билан ажратилади ва у “таъриф бўйича” деган маънони англатади. Масалан, қуйидаги метоформула
<ўзгарувчи> А В
ўзгарувчи таъриф бўйича А ёки В ҳарифидир деган маънони ифодалайди.
<ифода> <ўзгарувчи> <ўзгарувчи> <ўзгарувчи>
<ўзгарувчи>-<ўзгарувчи>
метоформула эса, юқоридаги <ўзгарувчи> метоформуласига боғлиқ ҳолда <ифода> сифатида қуйидаги 10 та ифодадан ихтиёрий биттаси бўлиши мумкин деган маънони англатади:
А, В, А А, А В, В А, В В, А-А, А-В, В-А, В-В.
Эслатиб ўтамиз вертикал чизиқ ёки деган маънони ифодалайди. Фараз қилайлик биз <иккилик код> деган тушунчасини киритмоқчимиз ва иккилик код деганда 0 ва 1 рақамлардан ташкил топган ихтиёрий кетма-кетликни назарда тутамиз. Умуман олганда, 0 ва 1 нинг ўзлари ҳам иккилик код ва уларнинг ёки 0 ва 1 рақамларидан бирортасининг ёзсак, яна иккилик код пайдо бўлади юқорида келтирилган фикрларни қуйидаги метаформулалар ёрдамида оддий ва қиска кўринишда ифодалаш мумкин.
<иккилик рақам>::=0+1
<иккилик код>::=<иккилик рақам>+<иккилик код><иккилик рақам>
метоформулаларда ишлатиладиган фигурали қавс { }, унинг ичидаги конструкциянинг кўп марта такрорланишини ифодалайди. Юқоридаги иккилик код тушунчаси фигурали қавслар ёрдамида қуйидагига киритилиши мумкин.
<иккилик рақам> ::=0+1
<иккилик код>::=<иккилик рақам> {<иккилик рақам>}
Do'stlaringiz bilan baham: |