3.2 Детерминалданған азаймалы танушылардың тұрғызылуы
Тұрғызылу тәсілі грамматиканың әр ережесіне танушы командасын салыстыруды алдын ала ескереді. Алдыңғы бөлімде мазмұндалған -грамматика үшін танушыларды тұрғызудың жалпы тәсіліне сәйкес -толық сөздіктердің символдар шынжыры және а терминалды сөздікке жататын, түріндегі грамматиканың әрбір ережесіне кіріс бүршігінің қозғалуынсыз жұмыс беретін және онда шынжырының айналы көрінісі болып келетін
(*)
командасын сәйкесінше қою керек. Нәтижесінде бұл команданың орындалуы а терминалы дүкен шыңында болатынын атап өтейік.
Бөлінген грамматикада әрбір ереже терминалды символдан және бұл терминалдар қайталанбайтынын ескере отырып, (*) командасы кіріс бүршігінің астында терминалы болғанда және одан кейін (**) командалы орындалу қажет.
(**) түріндегі нақтылықты жою мен жұмыс тактілерінің санын азайту үшін, (*) және (**) түріндегі командаларды бір командаға біріктіреміз. Және терминалды символдар тек қана сол жақ позиция ереженің оң жақ бөлігінде орналасуы мүмкін екенін ескере өту жөн.
Бұндай терминалдар үшін түріндегі команда құру қажет. Соңғы күйге көшу үшін ережесін қосамыз да, бастапқы танушы конфигурация ретінде формуласын аламыз, бұнда -грамматиканың бастапқы символы, ал -берілген кіріс шынжыры. Жоғарыда келтірілген ережелерді қолдана отырып бөлінген грамматикасы үшін танушы құрамыз.
Нәтижесінде:
Құрылған автоматтың жұмысын bbabab шынжырының талдауы мысалымен көрсетуге болады:
Келтірілген конфигурация реттілігі әрбір конфигурацияда бір ғана детерминалданған танушы командасы қолданыла алатынын көрсетеді.
Достарыңызбен бөлісу: |