A language described by a set of transformation rules wherein the left side of the some or all of the rules indicates that the transformation of a particular non-terminal can only take place if the non-terminal is in a particular relationship to one or more other symbols. For example, a transformation rule like

(C) A (B) --> foo bar baz

might indicate that A can be transformed into "foo bar baz" but only when it is between C and B.

(The above example doesn't use any well-known convention for describing these rules, 'cuz I don't know a well-known convention anymore.)