Формализм определения синтаксиса - Syntax Definition Formalism
Синтаксис Определение формализма ( SDF ) является metasyntax используется для определения контекстно-свободных грамматик : то есть формальный способ описания формальных языков. Он может выражать весь спектр контекстно-свободных грамматик . Текущая версия - SDF3. Анализатор и генератор парсеров для спецификации SDF предоставляются как часть свободного ASF + SDF Meta окружающей среды . Они работают с использованием SGLR ( анализатора GLR без сканирования ). Анализатор SDF выводит деревья синтаксического анализа или, в случае неоднозначности , анализирует леса.
Обзор
Особенности SDF:
- Поддерживает весь спектр контекстно-свободных языков
- Позволяет модульное определение синтаксиса (грамматики могут импортировать подграмматики), что позволяет повторно использовать
- Поддерживает аннотации
Примеры
В следующем примере определяется простой синтаксис логического выражения в SDF2:
module basic/Booleans exports sorts Boolean context-free start-symbols Boolean context-free syntax "true" -> Boolean "false" -> Boolean lhs:Boolean "|" rhs:Boolean -> Boolean {left} lhs:Boolean "&" rhs:Boolean -> Boolean {left} "not" "(" Boolean ")" -> Boolean "(" Boolean ")" -> Boolean context-free priorities Boolean "&" Boolean -> Boolean > Boolean "|" Boolean -> Boolean
Системы анализа и преобразования программ с использованием SDF
- ASF + SDF Meta Environment предоставляет SDF
- RascalMPL
- Spoofax / IMP [1]
- Stratego / XT
- Страфунски
Смотрите также
Ссылки
дальнейшее чтение
- Краткое введение в SDF, Visser, J. & Scheerder, J. (2000) CWI
- SDF формализма определения синтаксиса, Марк ван ден Бранд, Пол Клинт, Юрген Винью (2007) CWI
внешние ссылки
- Комплект для развертывания грамматики
- SdfMetz вычисляет метрики для грамматик SDF
- Загрузите SDF с домашней страницы мета-среды ASF + SDF
Эта статья по информатике незавершена . Вы можете помочь Википедии, расширив ее . |