Результаты проекта:
Выработаны общие принципы организации пакета (состав, структура, структуры данных, методы настройки и работы с программами пакета). Разработан новый быстрый метод лексического анализа, осуществляющий лексический анализ в полном объеме, включая составление таблиц идентификаторов, строк и констант с полным слиянием совпадающих лексем, и работающий за линейное время. Метод позволяет значительно сократить время выполнения всех этапов лексического анализа, связанных с обработкой таблиц, что особенно существенно для программ большого объема.
Метод основан на использовании автомата, работа которого управляется двумерной таблицей. Каждый встретившийся во входном тексте символ определяет вход в таблицу, и тем самым, как правило, один такт работы автомата. Число столбцов в таблице в процессе анализа не меняется и равно числу символов входного языка. Число строк таблицы автомата равно числу разных начал лексем в программе, и таким образом, по сравнению со стандартными методами, может в процессе анализа текста увеличиться не более чем в число раз, равное максимальной длине используемых в программе идентификаторов. Время обработки одной лексемы зависит только от ее длины и не зависит от размера программы. При этом автоматически производится слияние совпадающих лексем - как идентификаторов, так и констант, независимо от их типа, например совпадающих по написанию строковых констант, чего не делает большинство из существующих лексических анализаторов. Реализован генератор для этого лексического анализатора.
Работа генератора и анализатора проверена на примере языка Ада83.