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

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Задания к теме 2 «Синтаксические диаграммы автоматных языков и реализация распознавателей на их основе»)
(Задания к теме 2 «Синтаксические диаграммы автоматных языков и реализация распознавателей на их основе»)
Строка 38: Строка 38:
 
# Реализовать программу 2
 
# Реализовать программу 2
 
# Реализовать в программе 2 семантические действия по накоплению в строке распознанного целого числа и преобразованию его в целое в конце разбора (при встрече завершающего символа)
 
# Реализовать в программе 2 семантические действия по накоплению в строке распознанного целого числа и преобразованию его в целое в конце разбора (при встрече завершающего символа)
 +
# Составить синтаксическую диаграмму идентификатора. Реализовать по ней распознаватель.

Версия 22:37, 8 февраля 2012

К основной странице курса

Тема 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. Составить синтаксическую диаграмму идентификатора. Реализовать по ней распознаватель.