"Программы без ошибок можно написать
двумя способами, но работает — третий"
Алан Джей Перлис

Лексемы и разделители в Pascal

Все программы, написанные на языке Pascal, состоят из лексем и символов-разделителей. В свою очередь в лексемы языка Паскаль входят: специальные символы, символы-слова, имена, числа, строки символов, метки и директивы. Для начала разберемся с разделителями.

Разделители

К разделителям относят: пробелы, примечания и концы строк. Внутри одной лексемы разделители не допускаются. Например: в служебном слове begin мы не можем ставить пробелы, запись вида be gin будет ошибочной. Между двумя идущими друг за другом именами, числами или символами-словами должен быть хотя бы один разделитель. Примечания (комментарии) не являются обязательными в программе. Они служат для пояснения какой-либо части кода. Примечания начинаются с символа { или (* и заканчиваются } или *). Само примечание может содержать любые символы, за исключением } или *). Приведу пример:

p:=2*(a+b);  {вычисляем периметр}
или
p:=2*(a+b);  (*вычисляем периметр*)

Для того чтобы сделать код программы более читабельным, ты можешь использовать пробелы и перевод строк. Сравни два кода приведенных ниже, это одна и та же программа, только первая написана в строку, а вторая оформлена с помощью пробелов и переводов строк. Согласись, вторая программа более удобочитаема.

1) program one; begin write('Hello World'); end.
2) program one;
   begin
        write('Hello World');
   end.

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

Как и в любом другом языке программирования, в Паскале применяются специальные символы. Спец. символы, состоящие из двух символов всегда пишутся слитно. Ниже приведу список спец. символов.
+ - * / . , : ; = <> < <= > >= := .. ↑ () []
Существуют альтернативные написания для некоторых символов:
(. вместо [
.) вместо ]
@ или ^ вместо

Символы-слова (или зарезервированные слова) используются в программе только в том значении, которое зафиксировано для них разработчиками языка Паскаль. В частности, их нельзя использовать в качестве имен. Как уже отмечалось выше, такие слова пишутся без пробелов. Ниже приведен список таких слов.

andendnilset
arrayfilenotthen
beginforofto
casefunctionortype
constgotopackeduntil
divifprocedurevar
doinprogramwhile
downtolabelrecordwith
elsemodrepeat

Имена

Имена в языке Pascal служат для обозначения констант, переменных, границ, типов, процедур и функций. Все имена должны начинаться с буквы, после которой могут следовать цифры и буквы в любой последовательности (например, имя 3red не допускается). Язык Паскаль не чувствителен к регистру, поэтому имена можно записывать как строчными буквами, так и прописными (например, имена bigsmall и BiGsmaLL эквивалентны). В имени не допускается использование специальных символов и символов-слов (например, имя peri_metr не правильно). Некоторые имена, называемые предописанными именами, предусмотрены заранее (например, sin, cos). В отличии от слов-символов (например, begin) у них нет ограничений при описании, поэтому можно переопределить любое предописанное имя. Ниже приведу список предописанных имен:

AbsFalsePackSin
ArcTanGetPageSqr
BooleanInputPredSqrt
CharIntegerPutSucc
ChrLnReadText
CosMaxIntReadLnTrue
DisposeNewRealTrunc
EofOddResetUnpack
EolnOrdRewriteWrite
ExpOutputRoundWriteln

Числа

В Паскале используются числа десятичной системы счисления. Перед любым числом может стоять знак (+ или -), однако в конструкции число без знака знак ставить нельзя. В числе не допускается использование запятых. Если тебе нужно записать вещественное число, то оно пишется с десятичной точкой или с масштабным множителем (степенью), можно и с тем, и с другим. Буква E (или e), за которой следует степень, читается как "умножить на десять в степени". Если вещественное число содержит точку, то перед ней и после нее должно быть хотя бы по одной цифре. Примеры правильно написанных цифр: 7 05 0.3 4Е-6 23.11Е+8 9Е10

Строки символов

Последовательность символов, заключенная в апострофы (одинарные кавычки) называется строкой. В строке могут быть использованы любые символы. Если нужно включить в строку сам апостроф, то он записывается дважды. Пример: 'b' 'begin' 'don''t'

Метки

Метки представляют собой целые без знака числа и употребляются для маркировки операторов Паскаля. Значения меток могут быть от 0 до 9999.

Директивы

Директивы - это имена, подставляемые вместо блоков процедур и функций.