і імена оголошених раніше змінних. У виразі допускаються такі оператори:
+ сума;
різниця, унарний мінус;
* твір;
/приватна;
ABS (...) модуль числа;
^ зведення у ступінь (ступінь виражається цілим числом Ві 0);
SQRT (...) квадратний корінь;
EXP (...) експонента;
LN (...) натуральний логарифм.
Порядок виконання операцій може регулюватися дужками ().
Інструкції у тексті програми розділяються крапкою з комою, або кожна інструкція - з нового рядка.
2. Розробка граматики
Список допустимих лексем (слів мови).
Допустимими є:
ім'я змінної <ім'я змінної> = L ; (L - буква, C - цифра)
зарезервовані слова <зарезервовані слова> = <'print', 'abs', 'sqrt', 'exp', 'ln'>
використовувані символи <символи> = <'+', '-', '/', '*', '(', ')', '.', '^'>
Всі букви - маленькі латинські.
Програма складається з двох основних блоків, парсера і Лексера.
Парсер відповідає за розбиття на токени, а Лексер аналізує токени, і залежно від вмісту виконує над ними дії.
3. Опис програми
Програма-інтерпретатор виконана з використанням середовища розробки Borland С + + 6.0 і являє собою інтерактивну оболонку, що дозволяє завантажувати вихідний ASCII-текст, що містить програму, написану у відповідності з синтаксисом вхідної мови.
інтерпретатор текстовий файл лексема
3.1 Інтерфейс програми
В
Інтерфейс програми складається з форми (Form1), також її можна вважати діалоговим вікном між користувачем і програмою виконує обчислення за заданим алгоритмом.
На формі також розташовані Panel1, RichEdit1, MainMenu1 і OpenDialog1.
Властивості для компонентів
Panel1:
- Висота (Height) = 289
Ширина (Width) = 449
Form1:
- AutoSize = true
Caption = Інтерпретатор арифметики речових чисел
MainMenu1:
Складається з наступних пунктів
Файл
Відкрити
Вихід