Analyses of deterministic parsing algorithms
- 1 June 1978
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 21 (6) , 448-458
- https://doi.org/10.1145/359511.359517
Abstract
This paper describes an approach for determining the minimum, maximum, and average times to parse sentences acceptable by a deterministic parser. These quantities are presented in the form of symbolic formulas, called time-formulas. The variables in these formulas represent not only the length of the input string but also the time to perform elementary operations such as pushing, popping, subscripting, iterating, etc. By binding to the variables actual numerical values corresponding to a given compiler-machine configuration, one can determine the execution time for that configuration. Time-formulas are derived by examining the grammar rules and the program representing the algorithm one wishes to analyze. The approach is described by using a specific grammar that defines simple arithmetic expressions. Two deterministic parsers are analyzed: a top-down recursive descent LL(1) parser, and a bottom-up SLR(1) parser. The paper provides estimates for the relative efficiencies of the two parsers. The estimates applicable to a specific machine, the PDP-10, are presented and substantiated by benchmarks. Finally, the paper illustrates the proposed approach by applying it to the analyses of parsers for a simple programming language.Keywords
This publication has 4 references indexed in Scilit:
- Two languages for estimating program efficiencyCommunications of the ACM, 1974
- Simple LR(k) grammarsCommunications of the ACM, 1971
- On the translation of languages from left to rightInformation and Control, 1965
- On the relative efficiencies of context-free grammarCommunications of the ACM, 1965