АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Все-если

Читайте также:
  1. Все-если

Все-если

Выполнить Ai: = Table [ q, j ]. A ()

q:= Table [ q, j ]

Ind:= Ind +1

Все-цикл

Если q = «К»

То Выполнить А3

Вывести сообщение «Это число»

Иначе Вывести сообщение Дi

Все-если

Построение синтаксических анализаторов

Синтаксические анализаторы регулярных языков на вход получают строку лексем.

Пример. Синтаксический анализатор списка описания целых скаляров, массивов и функций (упрощенный вариант), например: int xaf, y22[5], zrr[2][4], re[N], fun(), *g;

После лексического анализа входная строка представлена в алфавите:

V – идентификатор; N – целочисленная константа; служебные символы: «[ ] (),; *».

Функцию переходов зададим синтаксической диаграммой (см. рисунок 7).

Рисунок 7 – Синтаксическая диаграмма

По диаграмме построим таблицу автомата (см. таблицу 7).

Таблица 7 –Таблица переходов

  V N * ( ) [ ] , ; Другие
    E   E E E E E E E
    E E E E E E E E E
  E E E   E   E   К E
  E E E E   E E E E E
  E E E E E E E   К E
  E   E E E E E E E E
  E E E E E E   E E E
  E E E E E   E   К E

 

Алгоритм распознавателя:

Ind:= 1

q:= 1

Цикл-пока q ¹ «Е» и q ¹ «К»

q: = Table [ q, Pos (S [ Ind ], «VN*()[];»)]

Ind:= Ind +1

Все-цикл

Если q = «К»

То Выполнить А3

Вывести сообщение «Это число»

Иначе Вывести сообщение Дi

Все-если


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)