Нужна помощь по Pascal. Синтаксич. анализатор

Print RSS
154

М
Author
Землянин
0
В универе лабораторную задали, на тему синтаксический анализатор. Не могу разобраться с условиями задачи...что от меня хотят >.<, написано как на китайском:
Построить синтарсический анализатор для понятия список-списков:
список-списков::=список {; список}*
список::=элемент {, элемент}*
элемент::=буква
Объясните по русски, как должны выглядить входные параметры?
М
Author
Землянин
0
Объяснили: список(а,б),список2(в,г) и т.д....
М
Author
Землянин
0
Для тех кто придет через поиск, готовый код:
program lab15;
var s:string;
j,i,k,l:integer;
t:boolean;
procedure error(i:integer);
begin
case i of
1:writeln('выражение не введено');
2:writeln('Отсутствует элемент списка');
3:writeln('элемент не соответствует шаблону');
end;
end;
procedure pr_name_sp(var s:string;k:integer);
begin;
for j:=k to length(s) do
begin
if length(s)=j then error(2);
if s[j]='(' then
begin
l:=j+1;
t:=false;
while (s[l]<>')')or(l<length(s))or(t=false) do
begin
if ((s in ['A'..'Z'])or(s[l] in ['a'..'z'])) and (s[l+1]=',') then begin l:=l+2; continue end
else
begin
if s[l+1]=')' then break else begin error(3); t:=true; break end;
end;
end;
l:=l+1;
if s[l]=',' then pr_name_sp(s,l) else break;
end;
end;
end;
begin
writeln('Введите предложение (в транслите),которое соответствует шаблону:');
writeln('­список1(буква,буква),список2(буква,буква)');
readln(s);
pr_name_sp(s,1);
end.

[i]Добавлено через 00:32 сек.

тему closed
Changed: Михаил (20.12.2011 / 21:53)

Дух
0
Вот объясните мне, если не трудно!
Для чего применяется язык паскаль и бейсик ?
N

Голубые штаны
0
TRaviS (27 Декабря 2011 / 13:57)
Вот объясните мне, если не трудно!
Для чего применяется язык паскаль и бейсик ?
Преимущественно для обучения студентов азам программирования.

Пришелец
0
оой, как вспомню этот бейсик и паскаль, аж голова начинает болеть facepalm

ВЕЛИКИЙ и УЖАСНЫЙ!
0
1. EZHIK, вот реально, скажи преподу, что он никрологией занимается. Нафиг паскаль не нужен. Серьёзно. Я бы так и сказал.

Старожил вапа, Кодер
0
8, учит учит, жесткая типизация, ограничение (string не более 255 символов) и отсутсвие динамики (типа динамических массивов) заставляет тебя включать голову и извращаться, хотя самый кайф это наверное Flat Assemblerinfat
Changed: Антон (27.12.2011 / 23:12)
М
Author
Землянин
0
Assembler мы тоже проходим D . У нас пол группы на Pascal'е то сели, что говорить про C,C# которые будем изучать в след. семестре...

Старожил вапа, Кодер
0
EZHIK (28 Декабря 2011 / 10:37)
Assembler мы тоже проходим
красавчик klass
Stickers / Tags / Rules / Top topics / Top Posts / Search