Программа на Паскале состоит из лексем и разделителей. Лексема - это минимальная значимая единица языка, состоящая из одного или нескольких последовательных символов.
Лексемами являются следующие элементы:
- специальные символы;
- зарезервированные слова;
- числа;
- строки символов;
- идентификаторы;
- метки.
Разделителями в Паскале являются:
- пробел;
- конец строки (разделитель строк);
- примечание (комментарий).
Пробел - это пустое место в тексте на бумаге или на экране дисплея.
Представим, что мы записываем в память ЭВМ произвольный текст. Слова в тексте разделены пробелами. Память ЭВМ - это линейная последовательность байтов. В каждом байте содержится один символ текста. Пробел, как и буквы в словах, отображается вполне конкретным содержимым байта.
Соответствие между символом и его кодом представлено в кодовых таблицах. Для ПЭВМ обычно используется таблица ASCII (American Standard Code for Information Interchange). В этой таблице записаны 256 символов с порядковыми номерами 0 .. 255 (цифры, прописные и строчные буквы, знаки операций, знаки препинания и др.). Порядковый номер символа в таблице ASCII - это код данного символа.
Первые 32 символа ASCII - управляющие символы, которые используются при обращении к внешним устройствам. Эти символы имеют названия, но не имеют графического обозначения. Обычно в программе их задают порядковым номером в таблице ASCII. Например, #7, #12 (символ "#" - это знак номера). Порядковым номером можно задавать и другие символы. Например, #32 (пробел), #158 (буква "Ю"). Содержимое байта для пробела будет иметь значение 3210 = 2016 =001000002, для буквы "Ю" – 15810= 9E16 = 100111102.
Текст "Programming in Pascal" будет изображен следующей последовательностью байтов:
50726F6772616D6D696E6720696E2050617363616C
Память ЭВМ можно представить в виде длинной ленты, разделенной на ячейки (байты). Такая лента представляет собой одномерный объект. В отличие от плоскости (листа бумаги), являющейся двумерным объектом, на ленте нельзя записать строки текста друг под другом. Следовательно, необходимо использовать какой-либо символ для обозначения строк записанного текста. Таким символом является "Конец строки", используемый для разделения текста в памяти ЭВМ на отдельные строки, длина которых может быть различной. Этому символу соответствуют два последовательных байта с кодами #13 и #10.
Комментарий в программе определяется парой символов, обозначающих его начало и окончание. В качестве таких символов могут использоваться "{" и "}" или "(*" и "*)". Текст комментария, заключенный в фигурные скобки, может содержать любые символы ASCII, кроме символов начала и конца комментария. Символы "(*" и "*)" имеют более высокий приоритет; между ними могут быть символы "{" и "}". Комментарий не влияет на работу программы и предназначен для лучшего понимания программы человеком. При трансляции все комментарии удаляются из программы.
Лексемы в Паскаль-программе обязательно разделяются одним или несколькими символами-разделителями. Обычно это пробелы.
При конструировании лексем используются буквы и цифры. К буквам относятся прописные и строчные латинские буквы (но не буквы национального алфавита, в частности русского): A B C D ... X Y Z a b c d ... x y z . Цифры: 0 1 2 3 4 5 6 7 8 9 .
Примечание. Символом "<>" в Паскале обозначается операция отношения "не равно" (" "), символом ">=" - операция "больше или равно" (" "), символом "<=" - операция "меньше или равно" (" "). Символ «^» (тильда) в дальнейшем используется для обозначения динамических переменных.