Курсовая работа: Розробка та реалізація компонентів системного програмного забезпечення
2. Розробка компілятора вхідної мови програмування
2.1 Формальний опис вхідної мови програмування
Одною з перших задач, що виникають при побудові компілятора, є визначення вхідної мови програмування. Для цього я використовую розширену нотацію Бекуса-Наура (Backus/Naur Form – BNF).
Перелік термінальних символів та ключових слів
begіn
end
float
prіntf
scanf
repeat
untіl
0..9
a..z, A..Z, «‘
20+10+52+1=83 термінальних символів.
Приорітет операторів: 1.*
2. /
3. +
4. -
В проекті потрібно реалізувати оператор repeat-untіl , а саме, його форму із мови Pascal:
repeat
< block >
untіl
(
<expr>
)
Формальний опис вхідної мови в термінах BNF.
Правила написання правил у розширеній нотації Бекуса-Наура:
- нетермінальні вирази записуються у кутових дужках: «<», «>»;
- термінальні вирази записуються жирним шрифтом або у подвійних лапках;