
практика за 1 курс / практика за 1 курс / Полина отчет / 1
.doc1.1 Формулировка задания:
Необходимо разработать распознаватель для следующей символьной цепочки: <цепочка>::=<условный оператор> <условие>: =<идентификатор> <оператор1>::=<оператор присваивания>
<выражение>::=<вызов подпрограммы>
<список параметров>: :=<идентификатор> <оператор2>::=<вызов подпрограммы>
<список параметров ::=<целая константа> Символьная цепочка задается с помощью форм Бэкуса-Наура. Примеры допустимых цепочек if Cond then Al:=Func(id); if Cond then myvar:=foo(idl) else proc(2); if Cond then samp:=func3(idl) else proc(-32);
1.2. Описание входных и выходных данных
Описание входных данных:
Цепочка записана в текстовом файле INPUT.TXT, который состоит из одной строки.
Описание выходных данных
Результат распознавания записан в текстовый файл OUTPUT .TXT
В нем записаны все результаты полученные в ходе выполнения программы, т.е. результаты работы каждого модуля. В последней строке записано одно из следующих сообщений: ACCEPT, если цепочка допустима, и REJECT, если цепочка недопустима.
1.3. Примеры входных и выходных данных
Пример 1.
Входные данные: Файл INPUT.TXT If Cond then myvar:=foo(idl) else proc(2); Выходные данные
Файл OUTPUT.TXT:
Символьная цепочка:
if Cond then myvar:=foo(idl) else proc(2); Блок транслитерации:
(i, буква)
(f, буква)
(, пробел)
(С,буква)
(о, буква)
(n, буква)
(d, буква)
(, пробел)
(t, буква)
(h, буква)
(е, буква)
(n, буква)
(, пробел)
(m,буква)
(у, буква)
(v, буква)
(а, буква)
(r, буква)
(:, двоеточие)
(=,равно)
(f, буква)
(о, буква)