language to be parsed is initially described by means of a generative formal grammar, and that the goal is to transform this generative grammar into a working parser. Strictly speaking, a generative grammar does not in any way correspond to the algorithm used to parse a language, and various algorithms have different restrictions on the form of production rules that are considered well-formed. An alternative approach is to formalize the language in terms of an analytic grammar in the first place, which more directly corresponds to the structure and semantics of a parser for the language. Examples of analytic grammar formalisms include the following: The Language Machine directly implements unrestricted analytic grammars. Substitution rules are used to transform an input to produce outputs and behaviour. The system can also produce the lm-diagram, which shows what happens when the rules of an unrestricted analytic grammar are being applied. Top-down parsing language (TDPL): a highly minimalist analytic grammar formalism developed in the early 1970s to study the behavior of top-down parsers. Link grammars: a form of analytic grammar designed for linguistics, which derives syntactic structure by examining the positional relationships between pairs of words. Parsing expression grammars (PEGs): a more recent generalization of TDPL designed around the practical expressiveness needs of programming language and compiler writers. See also Abstract syntax tree Adaptive grammar Ambiguous grammar Backus–Naur form (BNF) Categorial grammar Concrete syntax tree Extended Backus–Naur form (EBNF) Grammar framework L-system Lojban Post canonical system Shape grammar Well-formed formula References External links Formal languages Grammar Mathematical logic Syntax Automata (computation)