Turbo Assembler 3.0. Руководство пользователя

Лексическая грамматика


допустимая_строка ::= пропуск допустимая_строка знак_пунктуации допустимая_строка числовая_строка допустимая_строка идентификатор_строки допустимая_строка нуль

пропуск ::= символ_пробела пропуск символ_пробела

символ_пробела ::= все управляющие символы, символы > 128, ' '

идентификатор_строки ::= идентификатор_символа идентификатор_строки_2

идентификатор_строки_2 ::= идентификатор_символа_2 идентификатор_строки_2 нуль

идентификатор_символа ::= $,%,_,?,символы алфавита

идентификатор_символа_2 ::= идентификатор_символов плюс цифры

числовая_строка ::= числ_строка стр_строка

числ_строка ::= цифры буквенно_цифровые_символы цифры'.'цифры показатель_степени цифры показатель_степени ; Только в режиме MASM в директи- ; вах DD, DQ и DT

цифры ::= цифра цифры цифра

цифра ::= от 0 до 9

алфавитно-цифровые_символы ::= цифра буквенно_цифровые_символы буква буквенно_цифровые_символы нуль

буква ::= буквы алфавита

показатель_степени ::= Е+цифры Е-цифры Ецифры нуль

стр_строка ::= строка в двойных кавычках; кавычка, вводимая двумя кавычками

знак_пунктуации ::= любой символ, отличный от следующих: символ_пробела,идентификатор_символ,'"',"'" или цифры

Символ точки (.) трактуется различным образом в режиме MASM и в режиме Ideal. Этот символ не требуется указывать в числах с плавающей запятой в режиме MASM. Точка не может входить в состав символического имени в режиме Ideal. В режиме MASM с этого симво- ла иногда начинаются символические имена, кроме того, знак пунк- туации используется иногда в качестве селектора поля структуры.

Правила интерпретации точки (.):

1. В режиме Ideal точка всегда интерпретируется как знак пунктуации.

2. В режиме MASM точка трактуется как первый символ иденти- фикатора в следующих случаях:

а). Когда она является первым символом в строке и в ряде некоторых других специальных случаев, например, в составе внешних (EXTRN) и общих (PUBLIC) символичес- ких имен, она присоединяется к следующему за ней сим- волическому имени, если следующий за ней символ представляет собой идентификатор_символа_2, как он определен выше.

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



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