Literal movement grammar


In linguistics and theoretical computer science, literal movement grammars are a grammar formalism intended to characterize certain extraposition phenomena of natural language such as topicalization and cross-serial dependency. LMGs extend the class of context free grammars by adding introducing pattern-matched function-like rewrite semantics, as well as the operations of variable binding and slash deletion. LMGs were introduced by A.V. Groenink in 1995.

Description

The basic rewrite operation of an LMG is very similar to that of a CFG, with the addition of arguments to the non-terminal symbols. Where a context-free rewrite rule obeys the general schema for some non-terminal and some string of terminals and/or non-terminals, an LMG rewrite rule obeys the general schema, where X is a non-terminal with arity n, and is a string of "items", as defined below. The arguments are strings of terminal symbols and/or variable symbols defining an argument pattern. In the case where an argument pattern has multiple adjacent variable symbols, the argument pattern will match any and all partitions of the actual value that unify. Thus, if the predicate is and the actual pattern is, there are three valid matches:. In this way, a single rule is actually a family of alternatives.
An "item" in a literal movement grammar is one of
In a rule like, the variable y is bound to whatever terminal string the g predicate produces, and in and, all occurrences of y are replaced by that string, and and are produced as if terminal string had always been there.
An item, where x is something that produces a terminal string, and y is a string of terminals and/or variables, is rewritten as the empty string if and only if, and otherwise cannot be rewritten at all.

Example

LMGs can characterize the non-CF language as follows:
The derivation for , using parentheses also for grouping, is therefore

Computational power

Languages generated by LMGs contain the context-free languages as a proper subset, as every CFG is an LMG where all predicates have arity 0 and no production rule contains variable bindings or slash deletions.