Аналіз та обчислення дужкових виразів

Рефераты, курсовые, дипломные, контрольные (предпросмотр)

Тип: Реферат. Файл: Word (.doc) в архиве zip. Язык: Украинский. Категория: Информатика, IT
Адрес этого реферата http://referat.repetitor.ua/?essayId=12914 или
Загрузить
В режиме предпросмотра не отображаются таблицы, графики и иллюстрации. Для получения полной версии нажмите кнопку «Загрузить». Рефераты, контрольные, дипломные, курсовые работы предоставляются в ознакомительных целях, не для плагиата.

У розділі 9 розглядалися дужкові арифметичні вирази, мова яких породжується розширеною LA(1)-граматикою G2:

( { 0, … , 9, ., c, i, n, o, s, +, *, -, /, (, ) },

{ E, T, F, A, C, D, N },

{ E T { +T | -T }, T F { *F | /F }, F (E) | C | A,

C N (E), N 'sin' | 'cos',

A D { D } [ . { D } ], D 0 | … | 9 },

E ).

Імена A, C, N є скороченнями фраз "Arithmetic constant", "Call of function", "Name of function" відповідно, тобто "Арифметична стала", "Виклик функції", "Ім'я функції".

Побудуємо програму Aexval аналізу та обчислення арифметичних виразів на основі програми Aexan із попереднього підрозділу. Нехай вираз подається в кількох рядках, і ознакою кінця є порожній рядок. Читання лексем виразу задається модулями Glx та Inbuf, означеними в розділі 20. Замість функції getc добування наступного символу з програми Aexan використовується функція getlx добування наступної лексеми, а замість поточного символу ch - поточна лексема lx типу Tlx. Ознака наявності лексеми, що повертається з функції getlx, присвоюється бульовій змінній islx.

Підпрограми для нетерміналів A, N тут не створюються, оскільки аналіз лексем, позначених ними, уже задаєно в модулі Glx. Кожна з процедур E, T, F перетворюється на функцію обчислення тієї частини виразу, яка аналізується при виконанні її виклику. Побудуємо їх таким чином, щоб за помилкового виразу з них поверталося значення 1.

Згідно з продукціями граматики G2, функція F обчислення множника у виразі має такий вигляд:




Найти репетитора

Найти репетитора

При любом использовании материалов сайта обязательна гиперссылка на сайт «Репетитор».
Разработка и Дизайн компании Awelan
bigmir)net TOP 100 Rambler's Top100