Simple LR Parser
In computer science, a Simple LR or SLR parser is a type of LR parser with small parse tables and a relatively simple parser generator algorithm. As with other types of LR(1) parser, an SLR parser is quite efficient at finding the single correct bottom-up parse in a single left-to-right scan over the input stream, without guesswork or backtracking. The parser is mechanically generated from a formal grammar for the language.
SLR and the more-general methods LALR parser and Canonical LR parser have identical methods and similar tables at parse time; they differ only in the mathematical grammar analysis algorithms used by the parser generator tool. SLR and LALR generators create tables of identical size and identical parser states. SLR generators accept fewer grammars than do LALR generators like yacc and Bison. Many computer languages don't readily fit the restrictions of SLR, as is. Bending the language's natural grammar into SLR grammar form requires more compromises and grammar hackery. So LALR generators have become much more widely used than SLR generators, despite being somewhat more complicated tools. SLR methods remain a useful learning step in college classes on compiler theory.
SLR and LALR were both developed by Frank DeRemer as the first practical uses of Donald Knuth's LR parser theory. The tables created for real grammars by full LR methods were impractically large, larger than most computer memories of that decade, with 100 times or more parser states than the SLR and LALR methods.
Read more about Simple LR Parser: Lookahead Sets, Example
Famous quotes containing the word simple:
“He prayed more deeply for simple selflessness than he had ever prayed beforeand, feeling an uprush of grace in the very intention, shed the night in his heart and called it light. And walking out of the little church he felt confirmed in not only the worth of his whispered prayer but in the realization, as well, that Christ had become man and not some bell-shaped Corinthian column with volutes for veins and a mandala of stone foliage for a heart.”
—Alexander Theroux (b. 1940)