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

Материал из Вики ИТ мехмата ЮФУ
Версия от 22:34, 8 февраля 2012; Admin (обсуждение | вклад) (Новая страница: «===Тема 2. Синтаксические диаграммы автоматных языков и реализация распознавателей на их о…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Тема 2. Синтаксические диаграммы автоматных языков и реализация распознавателей на их основе

Синтаксическая диаграмма для целого со знаком

Синтаксическая диаграмма целого со знаком

Программа 2 распознавания целого со знаком по синтаксической диаграмме
// Вместо таблицы - условные операторы
procedure error();
begin
  writeln('error');
  halt;
end;

var ch: Char;

begin
  var s: string := '';

  read(ch);
  if ch in ['+','-'] then
    read(ch);
    
  if ch in ['0'..'9'] then
    read(ch)
  else error;
  
  while ch in ['0'..'9'] do
    read(ch);
  
  if ch<>#13 then
    error;
    
  writeln('Распознано целое число');
end.

Задания к теме 2 «Синтаксические диаграммы автоматных языков и реализация распознавателей на их основе»

  1. Реализовать программу 2
  2. Реализовать в программе 2 семантические действия по накоплению в строке распознанного целого числа и преобразованию его в целое в конце разбора (при встрече завершающего символа)
  3. Построить автоматную грамматику для идентификаторов.
  4. По данной грамматике построить граф грамматики, представляющий ДКА, и реализовать анализатор с помощью таблицы
  5. Преобразовать граф грамматики в синтаксическую диаграмму и построить программу разбора без использования таблицы
  6. Построить автоматную грамматику для распознавания вещесивенных и синтаксическую диаграмму для нее