Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка лабораторного практикуму з курсу "ЕОМ і програмування" в середовищі дистанційного навчання DL

Реферат Розробка лабораторного практикуму з курсу "ЕОМ і програмування" в середовищі дистанційного навчання DL





ify"> stack: array [1.256] of char; {Стек}, p: byte;: string [10]; {Правило} GetN (c: char): byte; {Дізнатися номер символу в граматиці}

beginc of

'Z': GetN: = 1;

'G': GetN: = 2;

'N': GetN: = 3;

',': GetN: = 4;

'-': GetN: = 6;

0 ". '9 ': GetN: = 5;

'-': GetN: = 255; GetN: = 0;;; Push (c: char); {Помістити символ в стек} (sp); [sp]: = c;; Cmp (x, y: char): char; {Порівняти два символи} i, j: byte;: = GetN (x); j: = GetN (y); (i = 0) or (j = 0) then Cmp: = '' elsex = '-' then Cmp: = '<' elsey = '-' then Cmp: = '>' else: = a [i, j];; Top: char; {Верхній символ стека}: = Stack [sp];; Error (kind: byte); {Помилка розбору}: = false; Kind = 1 then write ('BAD SYMBOL') elseKind = 2 then Writeln ('NO RULE') elsekind = 3 then writeln ( 'MORE SYMBOLS');; FindLessPos: byte; {Пошук основи} p: byte;: = sp; not (Cmp (Stack [p-1], Stack [p]) = '<') do dec (p) ;: = p;; GetRule (p: byte): String; {Виділити правило з стека з позиції p} T: string;: byte;: =''; i: = p to sp do T: = T + Stack [ i];: = T;; FindAndExchangeRule (var s: string): boolean; {Замінити рядок s по деякому правилу} i: byte;: boolean; i: = 1 to length (s) do if s [i] in [ 0 ". '9 '] Then s [i]: =' ц ';: = 1; b: = true; (i <= LawCount) and b doLaws [i, 2] = s then b: = false else inc (i) ;: = not b; b then s: = Laws [i, 1];: = b;; XChangeStack; {Замінити символи в стеку} [p]: = Rule [1];: = p;; (input, ' input. txt '); (input); (output,' output. txt '); (output); (s); {Введення пропозиції} (s);: = s +' - ';: = Length (s); ('-'); s = '-' then writeln ('BLANK LINE') else beginCmp (Top, S [i]) of

'<', '=': begin (S [i]); (i);;

'>': begin: = FindLessPos;: = GetRule (p); FindAndExchangeRule (rule) then XchangeStackError (2);;

'': Error (1);; not Ok or (i> L) or ((sp = 2) and (Stack [2] = 'Z') and (i = L)) ; Ok then if (sp = 2) and (Stack [2] = 'Z') then writeln ('OK') Error (3);; (input); (output);

end.

Решта варіантів описуються аналогічним способом.

Додаток 2


Вихідні тексти умов завдань task. htm:

Робота № 1, варіант № 1:

Синтаксичний аналіз пропозицій для регулярної граматики

Варіант № 1


Назад | сторінка 12 з 16 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка лабораторного практикуму з курсу "Розробка трансляторів для м ...
  • Реферат на тему: Teaching peculiarities in different kind of reading at the foreign language ...
  • Реферат на тему: Розробка методичного забезпечення лабораторного практикуму з біофізики
  • Реферат на тему: Розробка елективного курсу "Фізичні основи теорії протікання" для ...
  • Реферат на тему: Розробка лабораторного практикуму по алгоритмам диспетчеризації обчислень в ...