Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Абстрактные синтаксисы классифицируются как абстрактный синтаксис первого порядка (FOAS), если структура абстрактная, но имена (идентификаторы) все еще конкретны (и, следовательно, требуют разрешения имен ), и абстрактный синтаксис более высокого порядка , если сами имена абстрактны.

Использует [ редактировать ]

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

Компилятор «S внутреннее представление программы, как правило , будет указано абстрактным синтаксисом в терминах таких категорий, как„заявление“,„выражение“и„идентификатор“. Это не зависит от исходного синтаксиса ( конкретного синтаксиса ) компилируемого языка (хотя часто он очень похож). Дерево разбора похоже на абстрактное синтаксическом дерево , но это, как правило , содержит также такие функции, как круглые скобки , которые являются синтаксический значительными , но которые подразумеваются в структуре абстрактного синтаксического дерева.

Алгебраические типы данных особенно хорошо подходят для реализации абстрактного синтаксиса.

См. Также [ править ]

Ссылки [ править ]

  • Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL версии 1.3 или новее.