BookBody
.pdfSec. 13.13] |
General books on parsing |
311 |
Compiling, Volume I: Parsing, Prentice Hall, Englewood Cliffs, N.J., p. 542, 1972. The book describes the parts of formal languages and automata theory relevant to parsing in a strict mathematical fashion. Since much of the pertinent theory of parsing had already been developed
in 1972, the book is still reasonably up to date and is a veritable trove of definitions, theorems, lemmata and proofs.
The required mathematical apparatus is first introduced, followed by a survey of compiler construction and by properties of formal languages. The rest of the book confines itself to CF and regular languages. General parsing methods are treated in full: backtracking top-down and bottom-up, CYK and Earley. Directional non-backtracking methods are explained in detail, including general LL(k), LC(k) and LR(k), precedence parsing and various other approaches. A last chapter treats several non-grammatical methods for language specification and parsing.
Many practical matters concerning parser construction are treated in volume II, where the theoretical aspects of practical parser construction are covered; recursive descent is not mentioned, though.
Frederick W. Weingarten, Translation of Computer Languages, Holden-Day, San
Francisco, Calif., p. 180, 1973. Describes some parsing techniques in an clear and easy style. The coverage of subjects is rather eclectic. A full backtracking top-down parser for ε-free non-left- recursive grammars and a full backtracking bottom-up parser for ε-free grammars are described. The author does not explicitly forbid ε-rules, but his internal representation of grammar rules cannot represent them. The Earley parser is described well, with an elaborate example. For linear-time parsers, boundedcontext and precedence are treated; a table-construction algorithm is given for precedence but not for bounded-context. LR(k) is vaguely mentioned, LL(k) not at all. Good additional reading. Contains many algorithms and flowcharts similar to Cohen and Gotlieb [Misc 1970].
R.C. Gonzales, M.G. Thomason, Syntactic Pattern Recognition, Addison-Wesley,
Reading, Mass., p. 283, 1978. This book provides numerous examples of syntactic descriptions of objects not normally considered subject to a syntax. Examples range from simple segmented closed curves, trees and shapes of letters, via bubble chamber events, electronic networks, and structural formulas of rubber molecules to snow flakes, ECGs, and fingerprints. Special attention is paid to grammars for non-linear objects, for instance web grammars, plex grammars and shape grammars. A considerable amount of formal language theory is covered. All serious parsing is done using the CYK algorithm; Earley, LL(k) and LR(k) are not mentioned. Operator-precedence, simple precedence and finite automata are occasionally used. The authors are wrong in claiming that an all-empty row in the CYK recognition matrix signals an error in the input.
Interesting chapters about stochastic grammars, i.e. grammars with probabilities attached to the production rules, and about grammatical inference, i.e. methods to derive a reasonable grammar that will pro-
duce all sentences in a representative set R + and will not produce the sentences in a counterexample set
R − .
John E. Hopcroft, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, Reading, Massachussetts, p. 418,
1979. A must for readers interested in formal language theory and computational (im)possibilities.
Roland C. Backhouse, Syntax of Programming Languages, Prentice Hall, Lon-
don, p. 290, 1979. Grammars are considered in depth, as far as they are relevant to programming languages. FS automata and the parsing techniques LL and LR are treated in detail, and supported by lots of well-explained math. Often complete and efficient algorithms are given in Pascal. Much attention is paid to error recovery and repair, especially to least-cost repairs and locally optimal repairs. Definitely recommended for further reading.
A.J.T. Davie, R. Morisson, Recursive Descent Compiling, Ellis Horwood Ltd.,
Chichester, p. 195, 1981. Well-balanced description of the design considerations that go into a recursive descent compiler; uses the St. Andrews University S-algol compiler as a running example.
V.J. Rayward-Smith, A First Course in Formal Languages, Blackwell Scientific,
312 |
Annotated bibliography |
[Ch. 13 |
Oxford, p. 123, 1983. Very useful intermediate between Rdvdsz [Books 1985] and Hopcroft and Ullman [Books 1979]. Quite readable (the subject permitting); simple examples; broad coverage. No treatment of LALR, no bibliography.
Gyorgy E. Rdvdsz, Introduction to Formal Languages, McGraw-Hill, Singapore,
p. 199, 1985. This nifty little book contains many results and elementary proofs of formal languages, without being “difficult”. It gives a description of the ins and outs of the Chomsky hierarchy, automata, decidability and complexity of context-free language recognition, including the hardest CF language. Parsing is discussed, with descriptions of the Earley, LL(k) and LR(k) algorithms, each in a few pages.
William A. Barrett, Rodney M. Bates, David A. Gustafson, John D. Couch, Compiler Construction: Theory and Practice, Science Research Associates, Chicago,
p. 504, 1986. A considerable part (about 50%) of the book is concerned with parsing; formal language theory, finite-state automata, top-down en bottom-up parsing and error recovery are covered in very readable chapters. Only those theorems are treated that relate directly to actual parsing; proofs are quite understandable. The book ends with an annotated bibliography of almost 200 entries, on parsing and other aspects of compiler construction.
A.V. Aho, R. Sethi, J.D. Ullman, Compilers: Principles, Techniques and Tools,
Addison-Wesley, Reading, Mass., p. 796, 1986. The “Red Dragon Book”. Excellent, UNIX-oriented treatment of compiler construction. Even treatment of the various aspects.
Anton Nijholt, Computers and Languages: Theory and Practice, Studies in Computer Science and Artificial Intelligence, 4, North-Holland, Amsterdam, p. 482,
1988. Treats in narrative form computers, natural and computer languages, and artificial intelligence, their essentials, history and interrelationships; for the sophisticated layperson. The account is interspersed with highly critical assessments of the influence of the military on computers and artificial intelligence. Much global information, little technical detail; treats parsing in breadth but not in depth.
13.14 SOME BOOKS ON COMPUTER SCIENCE
David Harel, Algorithms: The Spirit of Computing, Addison-Wesley, Reading,
Mass, p. 425, 1987. Excellent introduction to the fundamentals of computer science for the sophisticated reader.
Robert Sedgewick, Algorithms, Addison-Wesley, Reading, Mass., p. 657, 1988.
Comprehensive, understandable treatment of many algorithms, beautifully done.
Jeffrey D. Smith, Design and Analysis of Algorithms, PWS-Kent Publ. Comp.,
Boston, p. 447, 1989. Good introductory book, treating list handling, searching, breadth-first and depth-first search, dynamic programming, etc., etc.
Author index
Page numbers in roman indicate pages referring to the author; page numbers in italic refer to annotations of works by the author.
Abrahams, P.W., 280 |
Bossi, A., 278 |
Conway, M.E., 266, 303 |
Ackley, S.I., 299 |
Bouckaert, M., 161, 276, 278 |
Conway, R.W., 237, 303 |
Agrawal, R., 288 |
Bratley, P., 108, 300 |
Corasick, M.J., 118, 299 |
Aho, A.V., 42, 118, 214, 219, |
Brooker, R.A., 266 |
Cormack, G.V., 227, 248, 291, |
236, 267, 269, 283, 284, |
Brown, C.A., 287 |
292, 310 |
288, 295, 296, 296, 299, |
Ba˘la˘nescu, T., 309 |
Couch, J.D., 312 |
303, 304, 308, 310, 312 |
Bugge, E.H., 246, 308, 309 |
Crowe, D., 272, 296 |
Al-Hussaini, A.M.M., 289 |
Burgess, C.J., 287, 288, 288, |
Cˇ ulik, K., 221, 279, 283 |
Al-Hussainin, A.M.M., 204 |
303 |
|
Ancona, M., 287, 288 |
Burke, M.G., 308, 308, 309 |
Dahl, V., 301, 302 |
Anderson, S.O., 246, 307, 308, |
Burshteyn, B., 269 |
Davie, A.J.T., 311 |
309 |
|
|
Anderson, T., 214, 283 |
Carter, L.R., 181, 268 |
de Vlaminck, K., 280, 305 |
Aoe, J., 298 |
Celentano, A., 285, 287, 288 |
|
Auty, D., 281 |
Chang, C.-H., 221, 246, 289, |
Degano, P., 221, 290 |
|
289, 290, 309, 309 |
Demers, A.J., 284, 293 |
Backhouse, R.C., 246, 284, |
Chapman, N.P., 220, 289, 290 |
Demner, J., 283, 293 |
307, 308, 308, 309, 311 |
Chartres, B.A., 275 |
Dencker, P., 112, 204, 268 |
Backus, J.W., 266 |
Cherry, L.L., 219, 267 |
Denning, P.J., 295 |
Baker, T.P., 287, 289 |
Chester, D., 294, 300 |
DeRemer, F.L., 218, 221, 240, |
Barrett, W.A., 312 |
Cho, Y.E., 292 |
283, 288, 289, 299, 305 |
Barth, G., 42, 270 |
Choe, K.-M., 214, 221, 246, |
Detro, K.D., 288 |
Bates, R.M., 312 |
289, 289, 290, 290, 309, |
Deussen, P., 79, 267, 272 |
Bauer, F.L., 266, 294 |
309 |
Dewar, H.P., 108, 300 |
Beilken, C., 309 |
Chomsky, N., 24, 51, 265 |
Dieterich, E.-W., 305 |
Bell, J.R., 192, 295, 296 |
Ciesinger, J., 304, 306 |
Dobler, H., 282 |
Bermudez, M.E., 221, 289, |
Cleaveland, J.C., 45, 272 |
Dodero, G., 287, 288 |
290, 291 |
Cocco, N., 278 |
Domolki, B., 270, 275 |
Bertsch, E., 194, 270, 297 |
Cohen, D.J., 266, 311 |
Durre, K., 112, 204, 268 |
Birman, A., 267 |
Cohen, J., 143, 267, 273, 278, |
Dwyer, B., 281 |
Blank, G.D., 108, 301, 302, |
281 |
|
302 |
Cohen, R., 221, 283 |
Eager, M.J., 309 |
Bochmann, G.V., 267 |
Colmerauer, A., 227, 295 |
Earley, J., 15, 149, 206, 267, |
Bolc, L., 302 |
Colussi, L., 278 |
276 |
314 |
Author index |
|
Eickel, J., 294 |
Hammond, K., 308 |
Kastens, U., 290 |
Er, M.C., 298 |
Hanson, D.R., 282 |
Katz, C., 266 |
Eve, J., 214, 283 |
Harel, D., 312 |
Kelly, I.D.K., 302 |
Ezure, K., 278 |
Harris, L.A., 271 |
Kemp, R., 287 |
|
Harris, M.D., 301 |
Kernighan, B.W., 219, 267 |
Feldman, J., 266 |
Harrison, M.A., 156, 159, 163, |
Khabbaz, N.A., 270 |
Feyock, S., 304 |
250, 277, 278, 283, 285, |
Kieburtz, R.B., 306 |
Finn, G.D., 268 |
293, 296, 308 |
King, M., 301 |
Fischer, C.N., 244, 281, 306, |
Hayes, P.J., 300 |
Kirchhoff, L.W., 179, 281 |
306, 307, 307, 308, 308, |
Heckmann, R., 183, 282 |
Klein, E., 301 |
310 |
Heering, J., 221, 291 |
Klenk, U., 300 |
Fisher, A.J., 72, 273 |
Heilbrunner, S., 220, 280, 286, |
Klint, P., 221, 291 |
Fisher, G.A., 286, 308, 308, |
287, 289 |
Knuth, D.E., 206, 213, 280, |
309 |
Henderson, D.S., 297, 298 |
282 |
Fisker, R.G., 271 |
Heuft, J., 112, 204, 268 |
Komor, T., 280 |
Florentin, J.J., 275 |
Heuring, V.P., 299 |
Korenjak, A.J., 213, 282, 283, |
Floyd, R.W., 266, 294, 295 |
Hext, J.B., 148, 276, 276 |
290 |
Foster, J.M., 179, 267, 280, |
Hickey, T.J., 143, 273, 278 |
Koskimies, K., 286 |
310 |
Hirakawa, H., 294 |
Koster, C.H.A., 42, 271, 272, |
Fu, K.S., 304 |
Hirsh, S., 294 |
277 |
Fujiwara, F., 288, 294 |
Hoffman, H.-J., 284 |
Kr]l, J., 277, 283, 293, 293 |
|
Hopcroft, J.E., 22, 30, 71, 95, |
Krawczyk, T., 280, 306, 308 |
Gallier, J.H., 308 |
122, 228, 311, 312 |
Krishnamurthy, M.S., 297, |
Gavrila˘, S., 309 |
Horning, J.J., 214, 283, 284, |
297 |
Gazdar, G., 301, 301 |
310 |
Kristensen, B.B., 284, 287, |
Geller, M.M., 283, 285, 293 |
Horspool, R.N., 221, 291, 298 |
289 |
Gerardy, R., 269 |
Huens, J., 280, 305 |
Kron, H.H., 284 |
Ghandour, Z.J., 270 |
Hunt, H.B., 179, 284, 310 |
Kruseman Aretz, F.E.J., 221, |
Gheorghe, M., 309 |
Hunter, R.B., 267 |
291, 291 |
Ghezzi, C., 285, 286, 286, 303 |
Huybrechts, M., 280, 305 |
Krzemien´, R., 107, 299 |
Gianuzzi, V., 287, 288 |
|
Kuno, S., 274, 275, 275 |
Glushkova, V.N., 281 |
Ichbiah, J., 197, 295 |
Kurki-Suonio, R., 181, 279 |
Gonzales, R.C., 311 |
Ikeda, M., 278 |
|
Goshawke, W., 302 |
Ingerman, P.Z., 310 |
LaFrance, J.E., 302, 308 |
Gotlieb, C.C., 266, 311 |
Inoue, K., 288, 294 |
LaLonde, W.R., 220, 285, |
Gough, K.J., 281, 281 |
Irons, E.T., 266, 273, 274, 274 |
285, 286, 287, 287, 298 |
Graham, S.L., 156, 159, 163, |
Ives, F., 221, 289, 290, 290 |
Lancaster, R.L., 212, 310 |
233, 238, 250, 277, 278, |
|
Lang, B., 276 |
283, 296, 298, 303, 305, |
Jacobs, C.J.H., 179, 183, 282 |
Langendoen, D., 299, 300 |
306, 308 |
Jalili, F., 308 |
Langmaack, H., 283 |
Gray, J.N., 296 |
James, 288 |
Lazarus, P., 304 |
Green, J., 266 |
James, E.G., 303 |
Learner, A., 295 |
Greibach, S.A., 45, 127, 272, |
James, L., 287, 288 |
Ledgard, H.F., 267 |
274 |
Jarzabek, S., 280 |
Ledley, R.S., 266 |
Gries, D., 266, 304 |
Johnson, S.C., 214, 219, 267, |
Lee, E.S., 270, 271 |
Griffiths, M., 280 |
283, 285 |
Lesk, M.E., 39, 299 |
Griffiths, T.V., 79, 274, 275 |
Johnson, W.L., 299 |
Ldvy, J.-P., 304 |
Grosch, J., 269 |
Joliat, M.L., 285 |
Levy, M.R., 191, 297, 297, |
Grosz, B.J., 275, 276, 302 |
Jones, D.W., 300 |
298, 298 |
Grune, D., 49, 179, 183, 273, |
Jones, N.D., 270 |
Lewi, J., 183, 280, 305 |
282 |
Joy, W.N., 306 |
Lewis II, P.M., 279, 292 |
Gustafson, D.A., 312 |
|
Lim, A.L., 295 |
|
Kaminger, F.P., 276 |
Lindsey, C.H., 271 |
Haley, C.B., 306 |
Kanze, J., 291 |
Loeckx, J., 198, 270, 295 |
Hammer, M., 293 |
Kasami, T., 75, 276, 310 |
Logothetis, G., 221, 291 |
|
Author index |
315 |
Lomet, D.B., 292, 293 |
Park, J.C.H., 214, 221, 288, |
Ruzˇicˇka, P., 297 |
Lu, S.Y., 304 |
289, 289, 290, 290, 309 |
Ruzzo, W.L., 156, 159, 163, |
Łukasiewicz, A., 107, 299 |
Partridge, D.P., 303 |
250, 278, 308 |
Lyon, G., 236, 303, 304, 308 |
Patel, R., 267 |
|
|
Paul, M., 294 |
Sag, I., 301 |
MacCallum, I.R., 266 |
Paull, M.C., 113, 299 |
Sager, T.J., 281 |
Madsen, O.L., 284, 287, 289 |
Peck, J.E.L., 271 |
Saint-Dizier, P., 301, 302 |
Mailloux, B.J., 271 |
Pemberton, S., 241, 307, 309 |
Sakai, I., 75, 88, 273 |
Makinouchi, A., 286 |
Pennello, T.J., 218, 221, 240, |
Salomon, D.J., 227, 291, 292 |
Manacher, G.K., 277 |
288, 289, 289, 291, 305 |
Samelson, K., 266, 294 |
Mandrioli, D., 285, 286, 286 |
Pereira, F.C.N., 268 |
Samet, H., 268 |
Mannucci, S., 221, 290 |
Perlis, A.J., 266 |
Sassa, M., 220, 289, 290 |
Marcotty, M., 267 |
Peterson, T.G., 236, 303, 304, |
Schimpf, K.M., 289, 290 |
Martin, D.F., 295, 296 |
308 |
Schmidt, E., 39, 299 |
Matsumoto, Y., 294 |
Petrick, S.R., 79, 274, 275 |
Schmitz, L., 289 |
Mattern, F., 309 |
Pezaris, S.D., 292 |
Schneider, V.B., 212, 296, 310 |
Mauney, J., 306, 307, 308, 310 |
Pirklbauer, K., 282 |
Scott, D., 299 |
Mayer, O., 286 |
Pirotte, A., 161, 276, 278 |
Sebesta, R.W., 270 |
McAfee, J., 296 |
Pittl, J., 293, 294, 294 |
Sedgewick, R., 75, 118, 265, |
McCarthy, J., 266 |
Poonen, G., 304 |
312 |
McGettrick, A.D., 267 |
Poplawski, D.A., 281 |
Sekimoto, S., 197, 283, 295 |
McKeeman, W.M., 198, 310 |
Porter, J.S., 299 |
Sethi, R., 214, 312 |
Meersman, R., 45, 272 |
Presser, L., 296 |
Setzer, V.W., 280 |
Meertens, L.G.L.T., 271 |
Pullum, G., 301 |
Shannon, A., 287 |
Mehlhorn, K., 270 |
Purdom, P.W., 284, 287 |
Share, M., 219, 269 |
Mevenkamp, M., 309 |
|
Sheil, B., 75, 88, 104, 277 |
Mickunas, M.D., 212, 240, |
Quiring, S.B., 244, 281, 307, |
Shieber, S.M., 301 |
296, 305, 310 |
308 |
Shimada, R., 298 |
Milton, D.R., 179, 244, 281, |
|
Shyamasundar, R.K., 297, 297 |
281, 306, 307, 307, 308 |
Rabin, M.O., 299 |
Sintzoff, M., 45, 271 |
Miyoshi, H., 294 |
Ramesha Chandra, H.R., 297, |
Sippu, S., 281, 281, 305, 307, |
Modry, J.A., 240, 305 |
297 |
308 |
Mojana, B., 221, 290 |
Rayward-Smith, V.J., 22, 308, |
Sitver, R., 281 |
Moll, K.R., 298 |
311 |
Smith, J.D., 74, 265, 312 |
Morisson, R., 311 |
Reed, J.H., 302 |
Smith, W.B., 302 |
Morris, D., 266 |
Rekers, J., 221, 291 |
Snelling, M., 161, 276, 278 |
Morse, S., 197, 295 |
Rdvdsz, G.E., 25, 27, 30, 71, |
Snelting, G., 292 |
Mouradian, G.V., 300 |
312, 312 |
Sofonea, L., 309 |
Muhlenbein, H., 309 |
Rhodes, S.P., 233, 238, 303, |
Soisalon-Soininen, E., 281, |
Mukai, K., 283 |
305, 308 |
281, 283, 286, 288, 290, |
Musinski, J.E., 304 |
Richter, H., 247, 309, 310 |
293, 305, 307, 308 |
|
Ripley, G.D., 306 |
Sparck Jones, K., 275, 276, |
Nakata, I., 220, 289, 290 |
Rivieres, J. des, 298 |
301, 302 |
Naur, P., 266 |
Roberts, G.H., 221, 291, 291, |
Spector, D., 287, 287, 291 |
Ng, R., 300 |
292, 292 |
Spenke, M., 309 |
Nicolescu, R., 309 |
Roberts, P.S., 148, 276, 276 |
Srisuresh, P., 309 |
Nijholt, A., 79, 268, 280, 281, |
Rohl, J.S., 266 |
Stearns, R.E., 279, 280 |
293, 312 |
Rohrich, J., 241, 244, 307 |
Stirling, C.P., 241, 246, 308, |
|
Rosenkrantz, D.J., 179, 280, |
308, 309, 309 |
Ostrand, T.J., 113, 299 |
292, 310 |
Stone, R.G., 204, 289 |
|
Ross, D.T., 299 |
Sudborough, I.H., 297 |
Pagan, F.G., 269 |
Roth, M.S., 267 |
Sudo, M., 283 |
Pager, D., 282, 284, 285, 286, |
Rowland, B.R., 179, 281 |
Szafron, D., 300 |
287 |
Rozenberg, G., 45, 272 |
Szymanski, T.G., 284, 285 |
Pai, A.B., 306 |
Rutishauser, H., 266 |
|