Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
m01_lection1.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
228.86 Кб
Скачать
  1. Методи опису синтаксису мови

  1. Синтаксичні діаграми

Ім’я

  1. посилання на діаграму ім’я

  • символ, що входить до складу програми

  1. Розширені Бекуса – Наура Форми (РБНФ)

Мета-символи, що використовуються:

Метасимвол

Значення

=

Рівно за означенням

|

Або

.

Кінець правила

[X]

X необов’язковій

{X}

0 або більше входжень Х

( )

Групування

‘XYZ’

Термінальний символ

XYZ

Нетермінальний символ

Примітка: в лекціях термінальні символи будуть виділені жирним шрифтом.

4. Лексеми: класифікація

Лексеми

Спеціальні символи

Зарезервовані слова

Ідентифікатори

Стандартні ідентифікатори

Ідентифікатори директив

Ідентифікатори стандартних процедур і функцій

Ідентифікатори, які задає користувач

Мітки

Числа

Десяткові

Шістнадцятирічні

Рядки

Коментарі

Спеціальні символи: + - * / < = > ( ) { } [ ] ., : ; ^ @ # $ := “ <= >= (* *) (. .)

Зарезервовані (ключові слова)

And

Exports

mod

Shr

var

array

File

Nil

String

while

As

Finalization

not

then

with

Asm

Finally

Object

threadvar

xor

Begin

For

Of

to

property

Case

Function

Or

try

raise

Class

Goto

Out

type

record

Const

If

packed

unit

repeat

constructor

Implementation

procedure

until

resourcestring

destructor

In

program

uses

set

dispinterface

Inherited

Div

Initialization

Shl

Do

Inline

Downto

Interface

Else

Is

End

Label

Except

Library

Між прописними і рядковими буквами зарезервованого слова немає відмінності.

Ідентифікатори

Ідентифікатор – послідовність букв і цифр, починаючи з букви .

Ідентифікатор = Буква{Буква|Цифра}.

Буква=A|B|C|D…|Z|a|b|c|…|z|_.

Цифра=0|1|2|3|4|5|6|7|8|9.

Приклад.

Правильні ідентифікатори

  • MyVariable

  • My4Variable1

  • Lab_12

Неправильні ідентифікатори

  • My Variable

  • _ MyVariable

  • 12Lab -1 2

Стандартні ідентифікатори - до них відносяться імена вбудованих в мову процедур і функцій (read, write, sin, cos), типів даних, (integer, real), і директив.

Зарезервовані слова не можуть бути використані як ідентифікатори.

Приклади неправильних ідентифікаторів:

  • 1 Program // - починається цифрою

  • block#l // - містить спеціальний символ

  • My Prog // - містить пропуск

  • mod // - зарезервоване слово

Мітки

Мітка=(Цифра{Цифра}).

Числа

Число=[Знак]ЧислоБезЗнака.

Знак=’+’|’-‘.

ЧислоБезЗнака=Ціле|Дійсне.

Ціле=Цифра{Цифра}.

Дійсне=Ціле[‘.’Ціле][‘е’|’Е’[Знак]Ціле].

Рядки

Рядок – послідовність символів з набору символів ASCII. Ряд символів береться в апострофи; якщо у рядку повинен бути сам апостроф як символ, то він подвоюється.

Коментар

Коментар – послідовність символів, яка розміщена у фігурних дужках {}. У коментарі програмістом описуються призначення підпрограм, типів даних, змінних, а також призначення або особливості фрагмента програми.

Роздільники

Всі спеціальні символи відносяться до роздільників лексем. Як роздільники лексем використовуються символи:

  • пробіл (код 32) – клавіша Пробіл;

  • табуляція(код 09) – клавіша Tab

  • повернення каретки (коді 13 і 10) – клавіша Enter

Між будь-якими двома лексемами може знаходитися довільна кількість символів – роздільників

Лексеми, групи, «спеціальні символи» самі є роздільниками.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]