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

220
.
В универе лабораторную задали, на тему синтаксический анализатор. Не могу разобраться с условиями задачи...что от меня хотят >.<, написано как на китайском:
Построить синтарсический анализатор для понятия список-списков: 
список-списков::=список {; список}* 
список::=элемент {, элемент}* 
элемент::=буква

Объясните по русски, как должны выглядить входные параметры?
.
Объяснили: список(а,б),список2(в,г) и т.д....
.
Для тех кто придет через поиск,выкладываю код синтакс. анализатора:
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[i] 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.

Тему можно крыть =)
Всего: 3