A speeding-up method of parsing-stack operations 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 of the properties based on the stack-controlling LR parser defined, the parsing speed and the size of parsing tables can be improved, and the improvement includes the traditional method eliminating unit productions. By empirical observations for variety of programming languages, the efficiency is verified. An extension of the method to the generalized LR parsers for natural language is also discussed.