Operator-precedence parser: Difference between revisions

Content deleted Content added
CheekyMonkey (talk | contribs)
m + Cat parsing algorithms
Luqui (talk | contribs)
m Factored negative earlier in sentence.
Line 1:
An '''operator-precedence parser''' is a simple [[shift-reduce parser]] capable of parsing a subset of [[LR parser|LR(1)]] grammars. More precisely, the operator-precedence parser can parse all LR(1) grammars where two concecutive [[nonterminal]]s never appear in the right-hand side of noany rule. <!-- Should make the negative in that sentence come earlier -->
 
Operator-precedence parsers are not used often in practice, however they do have some properties that make them useful within a larger design. First, they are simple enough to write by hand, which is not generally the case with more sophisticated shift-reduce parsers. Second, they can be written to consult an operator table at [[runtime]], which makes them suitable for languages that can add to or change their operators while parsing.