Аноним

Задача трансляции: различия между версиями

Материал из WikiGrapp
нет описания правки
Нет описания правки
Нет описания правки
Строка 3: Строка 3:
Процесс извлечения абстрактной программы из исходного текста осуществляется в три этапа. На этапе ''[[лексический анализ|лексического анализа]]'' происходит построение по тексту входной программы ее лексической свертки. В лексической свертке каждая лексема приводится к единому формату и представляется посредством дескриптора, содержащего два вида информации: тип (или класс) лексемы как синтаксической единицы (идентификатор, служебное слово и т.п.), а также местоположение данной конкретной лексемы (вход в таблицу объектов). Затем лексическая свертка преобразуется на этапе
Процесс извлечения абстрактной программы из исходного текста осуществляется в три этапа. На этапе ''[[лексический анализ|лексического анализа]]'' происходит построение по тексту входной программы ее лексической свертки. В лексической свертке каждая лексема приводится к единому формату и представляется посредством дескриптора, содержащего два вида информации: тип (или класс) лексемы как синтаксической единицы (идентификатор, служебное слово и т.п.), а также местоположение данной конкретной лексемы (вход в таблицу объектов). Затем лексическая свертка преобразуется на этапе
''[[синтаксический анализ|синтаксического анализа]]'' в ''[[дерево разбора]]'', описывающего
''[[синтаксический анализ|синтаксического анализа]]'' в ''[[дерево разбора]]'', описывающего
иерархическое строение составляющих ее вхождений понятий и лексем. Завершающим в построении абстрактной программы по исходному тексту является этап ''[[контекстныйо анализ|контекстного анализа]]'', который приписывает [[вершина|вершинам]] [[дерево|дерева]] разбора значения всех так называемых статических атрибутов и тем самым осуществляет построение ''[[атрибутное дерево|атрибутного дерева]]'' транслируемой программы. Атрибуты вершин дерева кодируют ту часть синтаксических свойств транслируемой программы, которые не описываются ''[[КС-грамматика|КС-грамматикой]]'' (например, такой атрибут, как класс конструкции, связанной с идентификатором), а
иерархическое строение составляющих ее вхождений понятий и лексем. Завершающим в построении абстрактной программы по исходному тексту является этап ''[[контекстныйо анализ|контекстного анализа]]'', который приписывает [[вершина|вершинам]] [[дерево|дерева]] разбора значения всех так называемых статических атрибутов и тем самым осуществляет построение ''[[атрибутное дерево|атрибутного дерева]]'' транслируемой программы. Атрибуты вершин дерева кодируют ту часть синтаксических свойств транслируемой программы, которые не описываются ''[[КС-Грамматика|КС-грамматикой]]'' (например, такой атрибут, как класс конструкции, связанной с идентификатором), а
также ряд других (семантических) ее свойств, позволяющих осуществлять построение выходной программы (на этапе генерации) при систематическом обходе дерева разбора и за счет вызовов
также ряд других (семантических) ее свойств, позволяющих осуществлять построение выходной программы (на этапе генерации) при систематическом обходе дерева разбора и за счет вызовов
генерационных процедур (трансдукторов), обрабатывающих вершины дерева вместе с их атрибутами и соответствующих понятиям и лексемам языка.
генерационных процедур (трансдукторов), обрабатывающих вершины дерева вместе с их атрибутами и соответствующих понятиям и лексемам языка.