Lookup NU author(s): Professor Thomas Anderson
Full text is not currently available for this publication.
A method of syntactic analysis, termed LA(m)LR(k), is discussed theoretically. Knuth's LR(k) algorithm is included as the special case m=k. A simpler variant, SLA(m)LR(k) is also described, which in the case SLA(k)LR(0) is equivalent to the SLR(k) algorithm as defined by DeRemer. Both variants have the LR(k) property of immediate detection of syntactic errors. The case m = 1 k = 0 is examined in detail, when the methods provide a practical parsing technique of greater generality than precedence methods in current use. A formal comparison is made with the weak precedence algorithm. The implementation of an SLA(1)LR(0) parser (SLR) is described, involving numerous space and time optimisations. Of importance is a technique for bypassing unnecessary steps in a syntactic derivation. Direct comparisons are made, primarily with the simple precedence parser of the highly efficient Stanford Algol W compiler, and confirm the practical feasibility of the SLR parser.
Author(s): Anderson T
Publication type: Report
Institution: Computing Laboratory, University of Newcastle upon Tyne
Place Published: Newcastle upon Tyne