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

Реферат Розробка лабораторного практикуму з курсу "Розробка трансляторів для мов програмування"





BR> P - > Bц | Pц
C - > P.
D - > Cц
A - > Dц | Aц Граматика описує пропозиції види: < число > {+ | -} < число > [. < число >], причому число після точки повинно містити не менше двох цифр. У ході розбору пропозиції повинні бути отримані значення всього виразу і число знаків після точки. H4> Введення:

Введення вихідних даних здійснюється з файлу input.txt, який містить один рядок, яка містить пропозицію для розбору. H4> Висновок

Для рядка у вхідному файлі програма повинна вивести дві або три рядки рішення згідно следуюшего правилом:
; Якщо пропозиція коректне, то програма повинна вивести в перший рядок вихідне вираз, у другий рядок число 0, і в третій рядок значення всього виразу M з двома знаками після коми і число знаків після крапки N; Якщо пропозиція некоректне, то програма повинна вивести в перший рядок вихідне вираз, а у другий рядок вивести номер помилки (1,2 або 3):
< ; B> 1 ​​ Якщо в процесі розбору зустрівся неприпустимий символ 2 Якщо в процесі розбору зустрівся допустимий символ, але який не може знаходиться на цьому місці 3 ; Якщо в процесі розбору виявилося, що пропозиція не закінчено ; h4> Приклад 1

Файл введення input.txt містить:
10-5.50 Файл виведення output.txt для даного вхідного файлу повинен містити такі рядки:
10-5.50 0 M = 4.50 N = 2 h4> Приклад 2

Файл введення input.txt містить:
10-a

Файл виведення output.txt для даного вхідного файлу повинен містити такі рядки:
10-a 1 /BODY> < ;/ HTML>

Файл task.xml для цього варіанту виглядає так:

Файл task.pas містить авторське рішення даного варіанту і виглядає так:

const ms: array [1 .. 7,1 .. 4] of byte = ({- + -.} {S} (2,0,0,0) {T} (2 , 3,3,0), {B} (4,0,0,0), {P} (4,0,0,5), {C} (6,0,0,0), {D} (7,0,0,0), {A} (7,0,0,0)); ps: array [1 .. 7,1 .. 4] of byte = ({- + -.} {S } (1,0,0,0), {T} (1,2,3,0), {B} (4,0,0,0), {P} (4,0,0,0), {C} (5,0,0,0), {D} (5,0,0,0), {A} (5,0,0,0)); num: set of char = ['0 ' .. '9 ']; ee: boolean = true; var s: string; i, q, oq, n, ns: byte; m, x: real; sign: shortint; assign (input,' input.txt ') ; assign (output, 'output.txt'); reset (input); rewrite (output); readln (s); m: = 0; x: = 0; n: = 0; i: = 1; q: = 1; writeln (s); while (i <= byte (s [0])) and (ee) do begin oq: = q; if s [i] in num then ns: = 1 else if s [i] = '+' then ns: = 2 else if s [i] = '-' then...


Назад | сторінка 11 з 40 | Наступна сторінка





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

  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Програма, що реалізує роботу з текстом і збереженням даних у файл
  • Реферат на тему: Число Пі
  • Реферат на тему: Число як суще
  • Реферат на тему: Ірраціональне число