Efficient controlling of parsing-stack operation for LR parsers
This paper presents a new method of LR parsing based on the distinction of stack states and non-stack states. Non-stack states are states, which do not need to be pushed into the LR parsing stack, and stack states are states to be pushed into it. By using some properties based on the stack-controlling LR parser defined here, the parsing speed and the size of parsing tables can be remarkably improved and their improvement includes the traditional method eliminating unit productions. By empirical observations for a variety of programming languages, the efficiency is verified. Extending it to the generalized LR parsers for natural language is also discussed.
lr parser stack states parsing stack lr automaton stack control