Язык программирования Оберон-2

Словарь и представление



3. Словарь и представление

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

1. Идентификаторы - последовательности букв и цифр. Первый символ должен быть буквой.

идент = буква {буква | цифра}.

Примеры: x Scan  Oberon2  GetSymbol  firstLetter

2. Числа - целые или вещественные (без знака) константы. Типом целочисленной константы считается минимальный тип, которому принадлежит ее значение (см. ). Если константа заканчивается буквой H, она является шестнадцатеричной, иначе - десятичной.

Вещественное число всегда содержит десятичную точку. Оно может также содержать десятичный порядок. Буква E (или D) означает "умножить на десять в степени". Вещественное число относится к типу REAL кроме случая, когда у него есть порядок, содержащий букву D. В этом случае оно относится к типу LONGREAL.



число  = целое | вещественное.
целое  = цифра {цифра} | цифра {шестнЦифра} "H".
вещественное    = цифра {цифра} "." {цифра} [Порядок].
Порядок  = ("E" | "D") ["+" | "-"] цифра {цифра}.
шестнЦифра  = цифра | "A" | "B" | "C" | "D" | "E" | "F".
цифра  = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9".

Примеры:  

1991 INTEGER 1991
0DH SHORTINT 13
REAL
7E8 REAL 456700000
712566D-6    LONGREAL    000057712566
<
/ul>

3. Символьные константы обозначаются порядковым номером символа в шестнадцатеричной записи, оканчивающейся буквой X.

символ = цифра {шестнЦифра} "X".

4. Строки - последовательности символов, заключенные в одиночные (') или двойные (") кавычки. Открывающая кавычка должна быть такой же, что и закрывающая и не должна встречаться внутри строки. Число символов в строке называется ее длиной. Строка длины 1 может использоваться везде, где допустима символьная константа и наоборот.

строка = ' " ' {символ} ' " ' | " ' " {символ} " ' ".

Примеры: "Oberon-2"    "Don't worry!"    "x"

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

+        :=        IMPORT      ARRAY RETURN
- ^ BEGIN IN THEN
* = BY IS TO
/ # CASE LOOP TYPE
~ < CONST MOD UNTIL
& > DIV MODULE VAR
. <= DO NIL WHILE
, >= ELSE OF WITH
; .. ELSIF OR
| : END POINTER
( ) EXIT PROCEDURE    
[ ] FOR RECORD
{ } IF REPEAT
6. Комментарии могут быть вставлены между любыми двумя словами программы. Это произвольные последовательности символов, начинающиеся скобкой (* и оканчивающиеся *). Комментарии могут быть вложенными. Они не влияют на смысл программы.


Содержание раздела