Запропоновано застосування формального опису синтаксису у вигляді недетермінованих кінцевих автоматів як на етапі синтаксичного аналізу програм, так і на етапі формування машинних кодів. На етапі синтаксичного аналізу для кожного стану автомата, що на відповідній діаграмі відображається своєю верхівкою, певна сукупність вхідних та вихідних дуг можуть виявитися помилковими та виділеними в окремий список. На етапі формування кодів машинних команд помилкові ситуації неможливі, оскільки асемблерні оператори формуються згідно з існуючими правилами опису форматів цих команд. Оптимальність машинного коду досягається за рахунок використання існуючих даних у регістрах та стеку цільового мікропроцесора.
Предложено применение формального описания синтаксиса в виде недетерминированных конечных автоматов как на этапе синтаксического анализа программ, так и на этапе формирования машинных кодов. На этапе синтаксического анализа для каждого состояния автомата, что на соответствующей диаграмме отображается своей вершиной, определенная совокупность входных и выходных дуг могут оказаться ошибочными и выделенными в отдельный список. На этапе формирования кодов машинных команд ошибочные ситуации невозможны, поскольку ассемблерные операторы формируются в соответствии с существующими правилами описания форматов этих команд. Оптимальность машинного кода достигается за счет использования существующих данных в регистрах и стеке целевого микропроцессора.
The formal description of programming language syntax due to indeterminate finite automates which use on the syntaxes analyses phase as well as on the machine code forming phase was proposed. On the syntaxes analyses phase for every state of automate, which is reflected by its top on the corresponding diagram, a certain combination of the input and output connectors may be considered as syntax mistakes and marked out to a separate list. On the machine code forming phase the mistakes are impossible because assembling operators are formed in accordance with the existing rules of the formats instruction description of these commands. Machine code optimality is provided due to existing data on registers and stack of the target microprocessor.