Расширенные Аффиксные Грамматики: Теория и Применение
Extended affix grammar
Расширенные аффиксные грамматики (EAG): формализм для описания синтаксиса языков программирования и естественных языков. Разработка, парсинг, трансляция.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
В информатике расширенные грамматики аффиксов (EAGs) — это формальный грамматический формализм для описания контекстно-свободного и контекстно-зависимого синтаксиса языка, как естественного, так и языков программирования. EAGs относятся к семейству двухуровневых грамматик; точнее, это ограничение грамматик Ван Вийнгардена, разработанное с конкретной целью обеспечения возможности синтаксического анализа. Как и грамматики Ван Вийнгардена, EAGs используют гиперправила, формирующие контекстно-свободную грамматику, за исключением того, что их нетерминалы могут иметь аргументы, известные как аффиксы, возможные значения которых задаются другой контекстно-свободной грамматикой – метаправилами. EAGs были введены и исследованы Д. А. Ваттом в 1974 году, а распознаватели были разработаны в Университете Неймегена в период с 1985 по 1995 год. Компилятор EAG, разработанный там, генерирует либо распознаватель, преобразователь, переводчик, либо синтаксически ориентированный редактор для языка, описанного в формализме EAG. Формализм весьма похож на Prolog, настолько, что позаимствовал у него оператор отсечения. EAGs использовались для создания грамматик естественных языков, таких как английский, испанский и венгерский. Целью было верифицировать грамматики путем их применения к корпусам текстов (корпусной лингвистике); следовательно, синтаксический анализ должен был быть достаточно эффективным. Однако проблема взрыва дерева разбора, возникающая из-за неоднозначности в естественном языке при использовании этого подхода, усугубляется в EAGs, поскольку каждый выбор значения аффикса может приводить к отдельному разбору, даже если несколько различных значений эквивалентны. Предлагаемым решением было перейти к гораздо более простой грамматике аффиксов над конечной решеткой (AGFL), в которой метаграмматики могут генерировать только простые конечные языки.
In computer science, extended affix grammars (EAGs) are a formal grammar formalism for describing the context free and context sensitive syntax of language, both natural language and programming languages. EAGs are a member of the family of two level grammars; more specifically, a restriction of Van Wijngaarden grammars with the specific purpose of making parsing feasible. Like Van Wijngaarden grammars, EAGs have hyperrules that form a context free grammar except in that their nonterminals may have arguments, known as affixes, the possible values of which are supplied by another context free grammar, the metarules. EAGs were introduced and studied by D. A. Watt in 1974; recognizers were developed at the University of Nijmegen between 1985 and 1995. The EAG compiler developed there will generate either a recogniser, a transducer, a translator, or a syntax directed editor for a language described in the EAG formalism. The formalism is quite similar to Prolog, to the extent that it borrowed its cut operator. EAGs have been used to write grammars of natural languages such as English, Spanish, and Hungarian. The aim was to verify the grammars by making them parse corpora of text (corpus linguistics); hence, parsing had to be sufficiently practical. However, the parse tree explosion problem that ambiguities in natural language tend to produce in this type of approach is worsened for EAGs because each choice of affix value may produce a separate parse, even when several different values are equivalent. The remedy proposed was to switch to the much simpler Affix Grammar over a Finite Lattice (AGFL) instead, in which metagrammars can only produce simple finite languages.