Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Синтаксис и семантика языка программирования Delphi

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

 

Алфавит языка

Алфавит - это совокупность допустимых в языке символов [2, С. 15]. Алфавит Турбо Паскаль включает следующий набор основных символов:

· строчные и прописные латинские буквы:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

a b c d e f g h i j k l m n o p q r s t u v w x y z

· пробел

· подчеркивание: _

· арабские цифры:

0 1 2 3 4 5 6 7 8 9

· знаки операций:

+ - * / = <> < > <= >=:= @

· ограничители:

., ' () [ ] (..) { } (* *)..:;

· спецификаторы:

^ # $

· служебные (зарезервированные) слова:

 

ABSOLUTE EXPORTS LIBRARY SET
ASSEMBLER EXTERNAL MOD SHL
AND FAR NAME SHR
ARRAY FILE NIL STRING
ASM FOR NEAR THEN
ASSEMBLER FORWARD NOT TO
BEGIN FUNCTION OBJECT TYPE
CASE GOTO OF UNIT
CONST IF OR UNTIL
CONSTRUCTOR IMPLEMENTATION PACKED USES
DESTRUCTOR IN PRIVATE VAR
DIV INDEX PROCEDURE VIRTUAL
DO INHERITED PROGRAM WHILE
DOWNTO INLINE PUBLIC WITH
ELSE INTERFACE RECORD XOR
END INTERRUPT REPEAT  
EXPORT LABEL RESIDENT  

Элементарные конструкции

Элементарные конструкции языка Паскаль включают в себя имена, числа и строки.

Имена (идентификаторы) называют элементы языка - константы, метки, типы, переменные, процедуры, функции, модули, объекты. Идентификатор в Турбо Паскале может включать в себя:

- буквы латинского алфавита,

- цифры

- символ подчеркивания.

Строчные и прописные буквы не различаются (например, NAME, Name и name будет означать одно и то же). Цифра не может стоять на первом месте в идентификаторе, а символ подчеркивания может находиться в любой позиции (например, name1 и name2item являются допустимыми идентификаторами, а 5name - нет; _name, name_, name_item - тоже допустимые названия). Длина идентификатора может быть любой, но значимыми являются только первые 63 символа. В качестве имен не допускается использовать служебные слова.

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

- пробел и табуляцию;

- перевод строки;

- комментарий.

В любом месте программы, где можно поместить один разделитель, их можно поместить любое количество и в любом сочетании, что позволяет наглядно представить структуру программы.

Комментарии заключаются либо в скобки {... }, либо в скобки вида (*... *) и могут занимать любое число строк. Так же для записи комментария используется //…, после // может записать только одну строку.

Числа в языке Паскаль обычно записываются в десятичной системе счисления. Они могут быть целыми и действительными. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например:

217 -45 8954 +483

Действительные числа записываются в форме с десятичной точкой:

28. 6 0. 65 -0. 018 4. 0

Возможна также запись с использованием десятичного порядка, который изображается буквой Е:

5Е12 -1. 72Е9 73. 1Е-16

В "переводе" такую запись следует понимать соответственно как:

5x1012 -1. 72x109 73. 1x10-16

Паскаль допускает запись целых чисел и фрагментов действительных чисел в форме с порядком в шестнадцатиричной системе счисления:

$7F $40 $ABC0

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

 

Переменные, константы и операторы

Переменная - это область памяти, содержащая значение определённого типа и позволяющая изменить текущее значение на новое. При определении переменной должен указываться тип данных. Переменная определяется в разделе var. Пример:

 

 
var i: Integer; s: String;

 

Если есть несколько переменных одного типа, то их можно перечислить через запятую, а в конце указать тип данных. Пример:

 

 
var s, a, t: String; //в стиле с++

 

Константа - это область памяти содержащая определённое значение, но значение остаётся на весь период существования константы. При определении константы тип данных не указывается. Константа определяется в разделе const. Пример:

 

 
const name: 'vasya';

 

VAR и CONST определяются до тела проги или процедуры!


Пример:

 

 
Procedure Name; var name: String; begin name:='Vasya'; end;

 

Операторы используются для того чтобы присвоить значение переменной.

:= Единственный оператор присвоения в Delphi/Паскаль

Арифметические операторы.

+ - сложение

- - вычитание

* - умножение

/ - деление

DIV - целочисленное деление

MOD - деление по модулю

Операторы сравнения.

= - равно

<> - не равно

< - меньше

> - больше

<= - меньше либо равно

>= - больше либо равно

Условные операторы IF.. THEN - позволяет определить выполняются ли некоторые условия и в зависимости выполнить тот или иной код.

IF -> выражение -> THEN -> оператор -> ELSE -> оператор -> END;

Это читается так:

ЕСЛИ -> выражение -> ТО -> оператор -> ИНАЧЕ -> оператор -> END;


Пример:

 

 
IF i=0 THEN i:=1 ELSE i:=i+1;

 

Выражение - это условие содержащее один или более операторов сравнения. Операторы сравнения перечисляются следующим образом:

IF (a=0) AND (b=1) AND (c=0) THEN... - проверяется чтобы a=0 И b=1 И c=0

IF (a=0) OR (b=1) OR (c=0) THEN... - проверяется ИЛИ a=0 ИЛИ b=1 ИЛИ c=0

ELSE - не обязательный оператор, его можно не писать.

 

Пример:

 
IF i=0 THEN i:=1;

 

Операторов может быть несколько, их только надо взять в begin и end.

Пример:

 

 
IF i=0 THEN begin i:=1; b:=2; c:=3; end;

 

Когда после END стоит ELSE, то знак « ставить не надо.

Пример:

 

 
IF i=0 THEN begin i:=1; b:=2; c:=3; end ELSE c:=5;

 


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...