Перейти на главную   
  helloworld.ru - документация и книги по программированию  
helloworld.ru - документация и книги по программированию
    главная     хостинг    
Поиск по сайту:  
Смотрите также
Языки программирования
C#
MS Visual C++
Borland C++
C++ Builder
Visual Basic
Quick Basic
Turbo Pascal
Delphi
JavaScript
Java
PHP
Perl
Assembler
AutoLisp
Fortran
Python
1C

Интернет-технологии
HTML
VRML
HTTP
CGI
FTP
Proxy
DNS
протоколы TCP/IP
Apache

Web-дизайн
HTML
Дизайн
VRML
PhotoShop
Cookie
CGI
SSI
CSS
ASP
PHP
Perl

Программирование игр
DirectDraw
DirectSound
Direct3D
OpenGL
3D-графика
Графика под DOS

Алгоритмы
Численные методы
Обработка данных

Сис. программирование
Драйверы

Базы данных
MySQL
SQL

Другое

Хостинг


Друзья
demaker.ru
Реклама

Лучший хостинг. Аренда серверов




helloworld.ru

Глава 2.Лексемы

             Лексемы - это минимальные значимые единицы текста в програм-
        ме,  написанной на Паскале.  Они представлены такими  категориями
        как специальные символы, идентификаторы, метки, числа и строковые
        константы.

             Программа, написанная на Паскале, состоит из лексем и разде-
        лителей, причем разделитель представляет собой пробел или коммен-
        тарий. Две соседние лексемы, если они представляют собой зарезер-
        вированное  слово,  идентификатор,  метку или число,  должны быть
        отделены друг от друга одним и несколькими разделителями.

                   Примечание: Разделители  не  могут быть частью лексем,
              за исключением строковых констант.


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

Borland Pascal использует следующие подмножества набора сим- волов кода ASCII: * Буквы - буквы английского алфавита от A до Z и от a до z. * Цифры - арабские цифры от 0 до 9. * Шестнадцатиричные цифры - арабские цифры от 0 до 9, буквы от A до F и буквы от a до f. * Разделители - символ пробела (ASCII 32) и все управляющие символы кода ASCII (ASCII 0-31), включая символ конца строки или символ возврата (ASCII 13). буква ¦ L---------T--------------T--------------T-------------- ¦ ¦ ¦ ¦ v v v v ---- ---- ---- ---- ¦ A ¦ ... ¦ Z ¦ ¦ a ¦ ... ¦ z ¦ L-T-- L-T-- L-T-- L-T-- ¦ ¦ ¦ ¦ L--------------+--------------+--------------+----> цифра ¦ L------T----------- ¦ ¦ v v ---- ---- ¦ 0 ¦ ... ¦ 9 ¦ L-T-- L-T-- ¦ ¦ L-----------+-------> шестнадцатиричная цифра ¦ ------------ L-------->¦ цифра ¦------------------------- ¦ L------------ ¦ ¦ ¦ L---T---------T---------T--------- ¦ ¦ ¦ ¦ ¦ ¦ v v v v ¦ ---- ---- ---- ---- ¦ ¦ A ¦ .. ¦ F ¦ ¦ a ¦ ... ¦ f ¦ ¦ L-T-- L-T-- L-T-- L-T-- ¦ ¦ ¦ ¦ ¦ ¦ L---------+---------+---------+---------+---------> Специальные символы и зарезервированные слова представляют собой символы, имеющие одно или несколько фиксированных значений. Специальными символами являются следующие одиночные символы: + - * / = < > [ ] . , ( ) : ; ^ @ { } $ # Следующие пары символов также представляют собой специальные символы: <= >= := .. (* *) (. .) Кроме того, некоторые специальные символы являются знаками операций. Левая квадратная скобка ([) эквивалентна паре символов, состоящей из левой круглой скобки и точки ((.). Аналогично правая квадратная скобка (]) эквивалентна паре символов, состоящей из точки и правой круглой скобки (.)).

Зарезервированные слова и стандартные директивы Borland Pascal

Следующие слова являются зарезервированными в Borland Pascal: Зарезервированные слова Borland Pascal Таблица 1.1 ----------------------------------------------------------------- and exports mod shr array file nil string asm for not then begin function object to case goto of type const if or unit consatructor implementation packed until destructor in procedure uses div inherited program var do inline record while downto interface repeat with else label set xor end library shl ----------------------------------------------------------------- В настоящем руководстве зарезервированные слова записаны строчными буквами. Однако, для Borland Pascal безразличен регистр клавиатуры, поэтому вы можете использовать в своей программе бук- вы как нижнего, так и верхнего регистра. Далее приведены стандартные директивы Borland Pascal. В от- личие от зарезервированных слов пользователь может их переопреде- лить. Однако делать это не рекомендуется. Стандартные директивы Borland Pascal Таблица 1.2 ----------------------------------------------------------------- absolute far name resident assembler forward near virtual export index private external interrupt public -----------------------------------------------------------------

Идентификаторы

Идентификаторы выступают в качестве имен констант, типов, переменных, процедур, модулей, программ и полей в записях. Идентификатор может иметь любую длину, однако только первые его 63 символа являются значимыми. Идентификатор должен начинать- ся с буквы и не может содержать пробелов. После первого символа идентификатора можно использовать буквы, цифры и символы подчер- кивания (значение ASCII $5F). Как и в зарезервированных словах, в идентификаторах можно использовать как строчные, так и прописные буквы (компилятор их не различает). Идентификатор должен начинаться с буквы и не должен содер- жать пробелов. После первого символа допускаются буквы, цифры и символ подчеркивания (ASCII $5F). Как и зарезервированные слова, идентификаторы безразличны к регистру клавиатуры. Когда имеется несколько мест с указанием одного и того же идентификатора, для задания нужного идентификатора необходимо уточнить этот идентификатор с помощью идентификатора модуля. Нап- ример, для уточнения идентификатора Ident с помощью идентификато- ра модуля UnitName следует записать UnitNamt.Ident. Такой комби- нированный идентификатор называется уточненным идентификатором. Примечание: Модули описываются в Главе 7 "Руководства пользователя" и в Главе 10 данного руководства. ------------ Идентификатор --T--->¦ буква ¦-------------------------T-> ¦ L------------ ^ ^ ¦ ¦ -------------- ¦ ¦ ¦ L->¦ символ +-- ¦ -------------- ¦ ¦подчеркивания¦ +---+ буква ¦<--+ L-------------- ¦ L-------------- ¦ ¦ -------------- ¦ +---+ цифра ¦<--+ ¦ L-------------- ¦ ¦ -------------- ¦ L---+ символ ¦<--- ¦подчеркивания¦ L-------------- ---- символ подчеркивания----->¦ _ ¦-----> L---- идентификатор программы -------------- идентификатор модуля ----->¦идентификатор¦----> идентификатор поля L-------------- ---------------- уточненный --T---------------------------+ идентификатор +--> идентификатор ¦ ^ L---------------- ¦ -------------- ---- ¦ L->¦идентификатор+->¦ . +-- ¦ модуля ¦ L---- L-------------- Приведем несколько примеров идентификаторов: Writeln Exit Real2String System.MemAvail Dos.Exec WinCrt.Windows

Числа

Для чисел, представляющих собой константы целого и вещест- венного типа, используется обычная десятичная запись. Целая конс- танта в шестнадцатиричном формате имеет в качестве префикса знак доллара ($). Техническое обозначение (E или е с показателем сте- пени) в вещественных типах читается, как "на десять в степени". Например, 7E-2 означает 7х10^-2, а 12.25E+6 или 12.25E6 оба обозначают 12.25х10^+6. Синтаксические диаграммы для записи чисел приведены ниже. ------------------ последовательность -------->¦шестнадцатиричная+-------T--> шестнадцатиричных ^ ¦ цифра ¦ ¦ цифр ¦ L------------------ ¦ L-------------------------------- ------------------ последовательность -------->¦ цифра +-------T---> цифр ^ L------------------ ¦ ¦ ¦ L-------------------------------- ------------------- целые без знака ----T---->¦последовательность+-----------> ¦ ¦ цифр ¦ ^ ¦ L------------------- ¦ ¦ ¦ ¦ ---- ---------------+--- L---->¦ $ ¦---->¦последовательность¦ L---- ¦шестнадцатиричных ¦ ¦ цифр ¦ L------------------- ---- знак -T--->¦ + +-------> ¦ L---- ^ ¦ ---- ¦ L--->¦ - +---- L---- вещественное без знака ¦ ----------- ---- ----------- L-->¦Последова-+-T->¦ . +->¦последова-+--T------------------> ¦тельность ¦ ¦ L---- ¦тельность ¦ ¦ ^ ¦ цифр ¦ ¦ ¦ цифр ¦ ¦ ¦ L----------- ¦ L----------- ¦ ¦ ¦ v ----------- ¦ L------------------------->¦масштабный+-- ¦ множитель¦ L----------- масштабный множитель ¦ ---- ------------------- L-------T->¦ E +-----T------------>¦последовательность+--> ¦ L---- ^ ¦ ^ ¦ цифр ¦ ¦ ---- ¦ ¦ ----- ¦ L------------------- L->¦ е +-- L->¦знак+--- L---- L----- число без знака ¦ ---------------- L-----------T->¦целое без знака+--------> ¦ L---------------- ^ ¦ ------------- ¦ L->¦вещественное+-------- ¦без знака ¦ L------------- число со знаком ¦ ---------------- L--------T---------------->¦число без знака+----> ¦ ^ L---------------- ¦ ----- ¦ L->¦знак+------ L----- Числа с десятичными точками или показателями степени предс- тавляют собой константы вещественного типа. Остальные десятичные числа обозначают константы целого типа. Они должны принимать зна- чения в диапазоне от -2147483648 до 2147483647. Шестнадцатиричные числа обозначают константы целочисленного типа. Они должны находиться в диапазоне от $00000000 до $FFFFFFFF. Окончательный знак значения определяется шестнадцати- ричной записью.

Метки

Меткой является последовательность цифр в диапазоне от 0 до 9999. Начальные нули не являются значащими. Метки используются с операторами перехода goto. ----------------------- Метка -------T-------->¦ последовательность +----------> ¦ ¦ цифр ¦ ^ ¦ L----------------------- ¦ ¦ ¦ ¦ -------------- ¦ L----------->¦идентификатор+------------- L-------------- Как расширение стандартного Паскаля, Borland Pascal позволя- ет использовать в качестве меток идентификаторы функций.

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

Строка символов представляет собой последовательность, со- держащую ноль и более символов из расширенного набора символов кода ASCII, записанную в одной строке программы и заключенную в одиночные кавычки (апострофы). Строка символов, ничего не содер- жащая между апострофами, называется нулевой строкой. Два последо- вательных апострофа в строке символов обозначают один символ - апостроф. Атрибут длины строки символов выражается действительным количеством символов между апострофами, например: 'Borland' 'You'll see' '''' ';' ' ' '' { пустая строка } ' ' { пробел } В качестве расширения стандартного Паскаля, Borland Pascal разрешает вставлять в строку символов управляющие символы. Символ # с целой константой без знака в диапазоне от 0 до 255 обозначает соответствующий этому значению символ в коде ASCII. Между симво- лом # и целой константой не должно быть никаких разделителей. Аналогично, если несколько управляющих символов входит строку символов, то между ними не должно быть разделителей. Приведем несколько примеров строк символов: #13#10 'Line 1'#13'Line2' #7#7'Make up!'#7#7 ----------------------- строка символов ----T-->¦ строка в кавычках +---T-T> ^ ¦ L----------------------- ¦ ¦ ¦ ¦ ----------------------- ¦ ¦ ¦ L-->¦ управляющая строка +---- ¦ ¦ L----------------------- ¦ L----------------------------------- ---- ---- строка ------>¦ ' +--------------T---->¦ ' +----> в кавычках L---- ^ ------- ¦ L---- L--+символ¦<-- ¦строки¦ L------- ----------------------- символ строки ---T-->¦любой символ, кроме ' +-------> ¦ ¦ или CR ¦ ^ ¦ L----------------------- ¦ ¦ ---- ---- ¦ L------->¦ ' +------>¦ ' +------ L---- L---- ---- -------------------- символ строки ------>¦ # +->¦ беззнаковое целое +-T--> ^ L---- L-------------------- ¦ ¦ ¦ L----------------------------------- Примечание: CR - символ возврата каретки. Длина символьной строки - это фактическое число символов в строке. Строка символов любой длины совместима с любым строковым типом и, при разрешении директивой {$X+} расширенного синтаксиса, с типом PChar.. Кроме того, строка символов с длиной, равной 1, совместима с любым типом Char. Строка символов длиной n, где n больше или равен 1, допустима для любого строкового типа и упако- ванных массивов из n символов.

Комментарии

Следующие конструкции представляют собой комментарии и поэ- тому игнорируются компилятором: { любой текст, не содержащий правую фигурную скобку } (* любой текст, не содержащий звездочку/правую круглую скобку *) Комментарий, содержащий знак доллара ($) сразу после откры- вающей скобки { или (*, является директивой компилятора. За сим- волом $ следует мнемоника команды компилятора. Примечание: Общее описание директив компилятора дано в Главе 2 "Справочного руководства программиста".

Строки программы

В Borland Pascal строки программы имеют максимальную длину в 126 символов.

[ Назад | Оглавление | Далее ]










helloworld.ru © 2001-2021
Все права защищены