Программная модель 32-разрядного микропроцессора фирмы Motorola


Описание интерпретатора - часть 3


Пользователю необходимо учитывать, что метка (если она присутствует) начинается  сначала строки (пробелы – если они есть – во внимание не принимаются), и от операций отделяется символом “:

Пример:

М: moveq #123,D1;

     add  D1,D2; 

    причём количество пробелов “:”до, после “:”, между операндами, между командой и операндами (и их наличие) может быть произвольным. Обязательной является “,” между приёмником и источником. В конце мнемоники команды в обязательном порядке должна стоять “;”, которая отделяет мнемокод от комментариев пользователя, которые интерпретатором  игнорируются. В противном случае произойдёт выработка исключительной ситуации, о чём появится на экран соответствующее сообщение.

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

Идентификация лексемы из конечного класса выполняется путем сравне­ния ее с эталонным значением. Основная проблема здесь — минимизация вре­мени поиска эталона. В общем случае может понадобиться полный перебор слов данного класса, в особенности для случая, когда выделенное для опозна­ния слово содержит ошибку. Уменьшить время поиска можно, используя раз­личные методы ускоренного поиска:

- метод линейного списка;

- метод упорядоченного списка;

- метод расстановки и другие.

Для идентификации лексем из бесконечных (очень больших) классов ис­пользуются специальные методы сборки лексем с одновременной проверкой правильности написания лексемы. При построении этих алгоритмов широко применяется формальный математический аппарат — теория регулярных язы­ков, грамматик и конечных распознавателей. В данном случае – время поиска не актуально, так как оно и так не высоко из-за  не очень большого количества команд микропроцессора.

При успешной идентификации значение лексемы из бесконечного клас­са помещается в таблицу идентификации лексем данного класса.


Начало  Назад  Вперед



Книжный магазин