Синтаксис і семантика
Опис кожного елемента мови задається його синтаксис і семантика. Синтаксичні визначення встановлюють правила побудови елементів мови. Семантика визначає зміст і правила використання тих елементів мови, для яких були дані синтаксичні визначення.
Алфавіт мови
Алфавіт - це сукупність допустимих в мові символів. Алфавіт Турбо Паскаль включає наступний набір основних символів:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
+ | - | * | / | = | <> | < | > | <= | >= | := | @ |
. | , | ' | ( | ) | [ | ] | (. | .) | { | } | (* | *) | .. | : | ; |
^ | # | $ |
ABSOLUTE | EXPORTS | LIBRARY | SET |
ASSEMBLER | EXTERNAL | MOD | SHL |
AND | FAR | NAME | SHR |
ARRAY | FILE | NIL | STRING |
ASM | FOR | NEAR | THEN |
ASSEMBLER | FORWARD | NOT | TO |
BEGIN | FUNCTION | OBJECT | TYPE |
CASE | GOTO | OF | UNIT |
CONST | IF | OR | UNTIL |
CONSTRUCTOR | IMPLEMENTATION | PACKED | USES |
DESTRUCTOR | IN | PRIVATE | VAR |
DIV | INDEX | PROCEDURE | VIRTUAL |
DO | INHERITED | PROGRAM | WHILE |
DOWNTO | INLINE | PUBLIC | WITH |
ELSE | INTERFACE | RECORD | XOR |
END | INTERRUPT | REPEAT | |
EXPORT | LABEL | RESIDENT |
- рядкові і прописні латинські букви:
- пробіл
- підкреслення: _
- арабські цифри:
- знаки операцій:
- обмежувачі:
- специфікатори:
- службові (зарезервовані) слова:
Елементарні конструкції
Елементарні конструкції мови Паскаль містять в собі імена, числа і рядки.
Імена (ідентифікатори) називають елементи мови - константи, мітки, типи, змінні, процедури, функції, модулі, об'єкти. Ідентифікатор в Турбо Паскалі може включати в себе:
- Букви латинського алфавіту
- Цифри
- Символ підкреслення
Малі та великі літери не розрізняються (наприклад, NAME, Name і name буде означати одне і те ж). Цифра не може стояти на першому місці в ідентифікаторі, а символ підкреслення може знаходитися в будь-якій позиції (наприклад, name1 і name2item є допустимими ідентифікаторами, а 5name - ні; _name, name_, name_item - теж допустимі назви). Довжина ідентифікатора може бути будь-якою, але значущими є тільки перші 63 символи. В якості імен не допускається використання службових слів.
Для відділення один від одного ідентифікаторів, чисел, зарезервованих слів використовуються роздільники. В якості них можна використовувати:
- Пробіл і табуляцію;
- Перенесення каретки (перенесення рядка);
- Коментар.
У будь-якому місці програми, де можна помістити один роздільник, їх можна помістити будь-яку кількість і в будь-якому поєднанні, що дозволяє наочно уявити структуру програми.
Коментарі записують або в фігурних дужках {... }, або в дужках виду (* ... *) і можуть займати будь-яке число рядків.
Числа в мові Паскаль зазвичай записуються в десятковій системі числення. Вони можуть бути цілими і дійсними. Знак + числа може бути опущений. Цілі числа записуються у формі без десяткової коми, наприклад:
217 | -45 | 8954 | +483 |
Дійсні числа записують в формі з десятковою точкою:
28.6 | 0.65 | -0.018 | 4.0 |
Можливий також запис з використанням десяткового порядку, що позначається буквою Е:
5Е12 | -1.72Е9 | 73.1Е-16 |
У "перекладі" такий запис слід розуміти відповідно як:
5x1012 | -1.72x109 | 73.1x10-16 |
Паскаль допускає запис цілих чисел і фрагментів дійсних чисел у формі з порядком у шістнадцятковій системі числення:
$7F | $40 | $ABC0 |
Рядки в мові Паскаль - це послідовність символів, записана між апострофами. Якщо в рядку в якості змістовного символу необхідно спожити сам апостроф, то слід записати два апострофа. Приклади рядків:
'РЯДОК' | 'STRING' | 'ПРОГРАМА' | 'АД''ЮТАНТ' |