233
Очевидно, что не существует другого пути выяснить, удовлетворяет ли  за-
казчика конечный продукт, как только продемонстрировать его в работе на не-
котором конечном (но "представительном") наборе тестовых вариантов.  
 Облегчающим обстоятельством в этой ситуации является многоуровневость 
или  расслоенность SYNTAX-технологии.  В  самом  деле,  любое SYNTAX-
приложение  представляет  собой  некоторую  композицию  конечных  и 
сплайновых  процессоров,  на  нижнем  уровне  которой  используется  типовой 
транслитератор.  Поэтому  тестирование  такого  приложения  распадается  на 
тестирование  его  компонент (транслитераторов,  конечных  и  сплайновых 
процессоров) и тестирование межкомпонентных связей.  
Взаимодействие  транслитератора  и  сканера.  Настройка  встроенного 
транслитератора на реализацию желаемой микролексики производится посред-
ством генерации микролексических классов, специфицируемых в разделе опи-
сания  микролексики.  Основным  источником  ошибок  спецификации  на  этом 
уровне  могло  бы  быть  рассогласование  имен  микролексических  классов,  ис-
пользуемых в спецификации микролексики, и обозначений терминалов управ-
ляющей  грамматики,  описывающей  трансляцию,  реализуемую  сканером.  Од-
нако  проверка  согласованного  определения  микролексики  в  разделе 
MICROLEXICS и ее использования в разделе SYNTAX, встроенная в техноло-
гический  комплекс,  исключает  такую  неприятность.  Поэтому  на  данном 
технологическом участке тестирование не требуется. 
Взаимодействие  сканера  и  анализатора.  Подобная же  опасность  сущест-
вует при взаимодействии анализатора со сканером, в роли которого использу-
ется не транслитератор, а другой процессор. Здесь контроль за согласованным 
определением лексики и ее использованием со стороны технологического ком-
плекса SYNTAX не столь жесткий, поскольку формирование лексем выполняя-
ется  семантиками  процессора-сканера. При  программировании этих  семантик 
необходимо следить за тем, чтобы были согласованы номера лексических клас-
сов,  формируемые  этими  семантиками,  и  номера  соответствующих  лексиче-
ских входов в управляющую таблицу процессора-анализатора. Внешние имена 
терминалов в грамматике, специфицирующей сканер, и в грамматике, специи-
фицирующей  анализатор,  могут  быть  совершенно  различными,  лишь  бы  их 
нумерация  была  согласована,  хотя  такая  разноголосица  при  проектировании 
увеличивает риск появления ошибки. При программировании семантик сканера 
рекомендуется  заглядывать  в словарь лексики анализатора,  доступный по  ко-
манде Preparation / ShowLexics в подсистеме процессирования, которая выдает 
занумерованный  список  лексических  классов,  в  терминах  которых  написаны 
правила грамматики анализатора. Именно эти номера и должны включаться в 
поля LC выходных лексем сканера. Очевидно, что на этом участке SYNTAX-
технологии тестирование было бы полезно. Оно может быть организовано пу-
тем  систематической  генерации  тестовых  вариантов  по  грамматике  сканера 
(конечного  процессора).  Очевидно,  что  эта  генерация  воспроизводит  полно-
стью  словарь  основных  символов  языка,  дополнив  его "представительными" 
образцами литералов, идентификаторов и т.п. лексических единиц.