Формална граматика — разлика између измена

Садржај обрисан Садржај додат
м Бот Додаје: sh:Formalna gramatika
м Cyrlat: 4 repl;
Ред 8:
== Формална граматика ==
 
[[Граматика]] се састоји од скупа правила за добијање низа знакова. Приликом генерисања низа знакова у [[језика | језику]], започиње сeсе са [[симбол | симболом]] који се назива почетни (или стартни) [[симбол]] и потом се примењују правила (у било којем броју, у било којем редоследу). [[Језик]] се састоји од свих ниски које се могу добити на овај начин. '''Формална граматика''' је [[граматика]] која се може једнозначно тумачити. Граматика је ''једнозначна'' ако свако реченична форма у тој граматици има тачно једно дрво извођења. У супротном случају, граматика је ''вишезначна'' (или ''амбигвитетна''). Вишезначност је својство граматике, а не језика. За један исти језик могу постојати и једнозаначне и вишезначне граматике. Уколоко су за неки језик све граматике вишезначне, онда се каже да је то ''инхерентно вишезначан'' језик, за њега није могуће наћи еквивалентну једнозначну граматику.
 
На пример, ако имамо: [[азбука|азбуку]] (коју чине [[симбол|симболи]] -{''а''}- и -{''b''}-), -{''S''}- [[Завршни и незавршни симболи | почетни симбол]] и ако имамо правила:
: 1. <math>S \rightarrow aSb</math>
: 2. <math>S \rightarrow ba</math>
тада се започиње са почетним симболом -{''S''}- и одабира се правило које ће дати жељену ниску. Ако се одабере прво правило, замењује се -{''S''}- са -{''aSb''}- и добија се ниска -{''aSb''}- на коју може да се даље примени неко од датих правила. Ако се опет примени прво правило, добија се -{''aаSbbaaSbb''}-.
Ово се понавља све док у нисци не буду само [[Завршни и незавршни симболи|терминални симболи]], односно -{''a''}- и -{''b''}-. Уколико се одабере друго правило - да се -{''S''}- замени са -{''ба''}-, тада ће да се добије [[ниска]] -{''ааbаbbаабабб''}- и у њој неће бити [[Завршни и незавршни симболи|нетерминалних симбола]], па је тиме завршено једно [[извођење]]. Ово извођење се записује
<math>S \Rightarrow aSb \Rightarrow aaSbb \Rightarrow aababb</math>. На основу тог претходног процеса извођења закључујемо да је [[језик]] ове [[граматика|граматике]] скуп свих [[ниска|ниски]] које су облика:
<math>\left \{ba, abab, aababb, aaababbb, ...\right \}</math>.