In computer science, a parsing expression grammar, or PEG, is a type of analytic formal grammar, i.e. it describes a formal language in terms of a set of rules for recognizing strings in the language. The formalism was introduced by Bryan Ford in 2004 and is closely related to the family of top-down parsing languages introduced in the early 1970s. Syntactically, PEGs also look similar to context-free grammars (CFGs), but they have a different interpretation: the choice operator selects the first match in PEG, while it is ambiguous in CFG. This is closer to how string recognition tends to be done in practice, e.g. by a recursive descent parser.
Unlike CFGs, PEGs cannot be ambiguous; if a string parses, it has exactly one valid parse tree. This makes PEGs well-suited to parsing computer languages, but not natural languages.
Read more about Parsing Expression Grammar: Implementing Parsers From Parsing Expression Grammars, Advantages
Famous quotes containing the words expression and/or grammar:
“We can see nothing whatever of the soul unless it is visible in the expression of the countenance; one might call the faces at a large assembly of people a history of the human soul written in a kind of Chinese ideograms.”
—G.C. (Georg Christoph)
“Like everything metaphysical the harmony between thought and reality is to be found in the grammar of the language.”
—Ludwig Wittgenstein (18891951)