Jump to content

ДеревоDL

Язык описания деревьев (TreeDL) — компьютерный язык для описания строго типизированных древовидных структур данных и операций над ними. Основное применение TreeDL — при разработке языково-ориентированных инструментов ( компиляторов , трансляторов и т. д.) для описания структуры абстрактных синтаксических деревьев .

Описание дерева можно использовать как

  • документация интерфейса между парсером и другими подсистемами;
  • источник для генерации типов данных, представляющих дерево на целевых языках программирования;
  • источник для генерации различного вспомогательного кода: посетителей , ходоков, фабрик и т.д.

TreeDL можно использовать с любым генератором парсера , который позволяет настраивать действия во время синтаксического анализа (например, ANTLR , JavaCC ).

Обзор языка

[ редактировать ]

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

Операции над деревом определяются как мультиметоды . Преимущества этого подхода описаны в статье Treecc: аспектно-ориентированный подход к написанию компиляторов.

Древовидные описания поддерживают наследование, что обеспечивает модульность и повторное использование описаний деревьев базового языка для языковых расширений.

См. также

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2f978ef5e440ef9a0e6901b31daef45e__1711116840
URL1:https://arc.ask3.ru/arc/aa/2f/5e/2f978ef5e440ef9a0e6901b31daef45e.html
Заголовок, (Title) документа по адресу, URL1:
TreeDL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)