Лексическая структура языка.
Комментарии и пробелы.
Символы из алфавита языка используются для построения базовых элементов Pascal-программ - лексем.
Лексемы – минимальная единица языка, имеющая самостоятельный смысл. В Turbo Pascal'е имеются следующие классы лексем:
1. Служебные (зарезервированные) слова. Это ограниченная группа слов, построенные из букв. Каждое служебное слово представляет собой неделимое образование, смысл которого фиксирован в языке.
Служебные слова нельзя использовать в качестве имен, вводимых программистом (т.е. в качестве идентификаторов переменных, констант и т.д.).
Служебных слов всего 55:
Absolute array
And asm
Assembler not
Begin object
Case of
Const or
Constructor packed
Destructor private
Div procedure
Do program
Downto record
Else repeat
End set
External shl
File shr
For string
Forward then
Function to
Goto type
If unit
Implementation until
In uses
Inline var
Interface virtual
Interrupt while
Label with
Mod xor
Nil
Заметим, что синтаксис Turbo Pascal на самом деле допускает использование некоторых служебных слов в качестве идентификаторов (к числу таких слов относятся assembler , external, forward, interrupt, private, virtual)
Строго говоря эти слова называются в языке директивами (или стандартными директивами).Однако в целях большей ясности программ использование в качестве идентификаторов не рекомендуется.
2. Идентификаторы ( имена). Идентификаторы вводятся для обозначения в программе переменных, констант, типов, меток, процедур, и функций и формируются из букв и цифр в соответствии со следующей диаграммой:
Идентификатор
[буква]
[буква]
[цифра]
Длина идентификатор может быть произвольной, однако компилятор воспринимает только первые 63 его символа.
Идентификаторы всегда начинаются буквой, за которой могут следовать буквы и цифры. Помните, что буквой считается также символ подчеркивания, поэтому идентификатор может начинаться этим символом и даже состоять только из одного или нескольких символов подчеркивания.
Важно помнить, в языке Turbo Pascal соответствующие заглавные и строчные буквы в идентификаторах и служебных словах не различаются.
Например: index
INDEX
Index
Все они обозначают одну и ту же переменную.
Пробелы и специальные символы алфавита не могут входить в идентификатор.
Например: правильные идентификаторы
a
ALPHA
MyProgram
_beta
Data_27_sep_39
Dog
неправильные идентификаторы
1Program - начинается цифрой
block#1 - содержит специальный символ