Лексемы и разделители в 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.
Специальные символы и символы-слова
Как и в любом другом языке программирования, в Паскале применяются специальные символы. Спец. символы, состоящие из двух символов всегда пишутся слитно. Ниже приведу список спец. символов.
+ - * / . , : ; = <> < <= > >= := .. ↑ () []
Существуют альтернативные написания для некоторых символов:
(.
вместо [
.)
вместо ]
@
или ^
вместо ↑
Символы-слова (или зарезервированные слова) используются в программе только в том значении, которое зафиксировано для них разработчиками языка Паскаль. В частности, их нельзя использовать в качестве имен. Как уже отмечалось выше, такие слова пишутся без пробелов. Ниже приведен список таких слов.
and | end | nil | set |
array | file | not | then |
begin | for | of | to |
case | function | or | type |
const | goto | packed | until |
div | if | procedure | var |
do | in | program | while |
downto | label | record | with |
else | mod | repeat |
Имена
Имена в языке Pascal служат для обозначения констант, переменных, границ, типов, процедур и функций. Все имена должны начинаться с буквы, после которой могут следовать цифры и буквы в любой последовательности (например, имя 3red
не допускается). Язык Паскаль не чувствителен к регистру, поэтому имена можно записывать как строчными буквами, так и прописными (например, имена bigsmall
и BiGsmaLL
эквивалентны). В имени не допускается использование специальных символов и символов-слов (например, имя peri_metr
не правильно). Некоторые имена, называемые предописанными именами, предусмотрены заранее (например, sin, cos
). В отличии от слов-символов (например, begin
) у них нет ограничений при описании, поэтому можно переопределить любое предописанное имя. Ниже приведу список предописанных имен:
Abs | False | Pack | Sin |
ArcTan | Get | Page | Sqr |
Boolean | Input | Pred | Sqrt |
Char | Integer | Put | Succ |
Chr | Ln | Read | Text |
Cos | MaxInt | ReadLn | True |
Dispose | New | Real | Trunc |
Eof | Odd | Reset | Unpack |
Eoln | Ord | Rewrite | Write |
Exp | Output | Round | Writeln |
Числа
В Паскале используются числа десятичной системы счисления. Перед любым числом может стоять знак (+ или -), однако в конструкции число без знака знак ставить нельзя. В числе не допускается использование запятых. Если тебе нужно записать вещественное число, то оно пишется с десятичной точкой или с масштабным множителем (степенью), можно и с тем, и с другим. Буква E
(или e
), за которой следует степень, читается как "умножить на десять в степени". Если вещественное число содержит точку, то перед ней и после нее должно быть хотя бы по одной цифре. Примеры правильно написанных цифр: 7 05 0.3 4Е-6 23.11Е+8 9Е10
Строки символов
Последовательность символов, заключенная в апострофы (одинарные кавычки) называется строкой. В строке могут быть использованы любые символы. Если нужно включить в строку сам апостроф, то он записывается дважды. Пример: 'b' 'begin' 'don''t'
Метки
Метки представляют собой целые без знака числа и употребляются для маркировки операторов Паскаля. Значения меток могут быть от 0 до 9999.
Директивы
Директивы - это имена, подставляемые вместо блоков процедур и функций.