Abstract
“Literate programming” is a notion that has been introduced by Don Knuth as a means for improving the art of programming by amalgamating explanatory text with the program proper. In this paper, we attempt to combine the principal ideas of literate programming with the concepts of formal program development, based on algebraic specifications and transformations. This experiment is performed using the sublinear string-searching algorithm of Boyer and Moore (1977) as an illustrating example.
Preview
Unable to display preview. Download preview PDF.
References
Bauer, F.L., Wössner, H.: Algorithmic Language and Program Development. Berlin, Springer 1982.
Bird, R.S.: An Introduction to the Theory of Lists. In: Broy, M. (ed.): Logic of Programming and Calculi of Discrete Design. Proc. Int. Summer School, Marktoberdorf. NATO ASI Series F, Vol. 36, Berlin, Springer 1985, 5–42.
Boyer, R.S., Moore, J.S.: A Fast String Searching Algorithm. Comm. ACM 20 (1977) 762–772.
Broy, M., Pepper, P.: Program Development as a Formal Activity. IEEE Transactions on Software Engineering SE-7, 1 (1981), 14–22.
Burstall, R.M., Darlington, J.: A Transformation System for Developing Recursive Programs. J.ACM 24 (1977), 44–67.
CIP-group (Bauer, F.L. et al.): The Munich Project CIP. Vol. II: The Program Transformation System CIP-S. Lecture Notes in Comp. Sc. 292, Berlin, Springer 1987.
Gries, D.: The Science of Programming. New York, Springer 1981.
Gries, D.: On “A Small Work of Literature”. Comm. ACM 30, 4 (1987), 286–288.
Hamilton, E.: Expanding Generalized Regular Expressions. Comm. ACM 31, 12 (1988), 1377–1382.
Hanson, D.R.: Printing Common Words. Comm. ACM 30, 7 (1987), 594–598.
Jackson, M.: Processing Transactions. Comm. ACM 30, 12 (1987), 1001–1008.
Knuth, D.E.: Literate Programming. Comp. Journal 27, 2 (1984), 37–111. (See also Comm. ACM 29, 5 (1986), 364–369 and 29, 6 (1986) 471–483.)
Partsch, H.A.: Transformational Program Development in a Particular Problem Domain. Science of Comp. Progr. 7 (1986), 99–241.
Partsch, H.A., Stomp, F.A.: A Formal Derivation of Boyer and Moore's Pattern Matching Algorithm. Techn. Rep. 88–12, Dept. of Informatics, Univ. Nijmegen, 1988. (To appear in: Formal Aspects of Computing).
Pepper, P.: A Simple Calculus For Program Transformation. Science of Computer Programming 9 (1987) 221–262.
Roszak, Th.: Der Verlust des Denkens (Engl.: The Cult of Information) München, Droemer 1986.
Smith, D.R.: KIDS — A Knowledge-Based Software Development System. In: Proc. of the Workshop on Automating Software Design, AAAI 1988.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Pepper, P. (1991). Literate program derivation: A case study. In: Broy, M., Wirsing, M. (eds) Methods of Programming. Lecture Notes in Computer Science, vol 544. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0018271
Download citation
DOI: https://doi.org/10.1007/BFb0018271
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54576-7
Online ISBN: 978-3-540-38491-5
eBook Packages: Springer Book Archive