Experiences with the compiler writing system HLP

  • Kari-Jouko Räihä
Attribute And Affix Grammars
Part of the Lecture Notes in Computer Science book series (LNCS, volume 94)


Compilers for languages of widely varying nature have been constructed using the compiler writing system HLP. Characteristics of the language descriptions and of the compilers produced are reported. Opinions of the users are discussed, and various ways to improve HLP are suggested. The experiences gained are relevant for similar projects aiming at the construction of compiler writing tools.


Lexical Token Internal Report Parse Tree Source Language Semantic Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Asp,J.: A description of the syntax and static semantics of Pascal using HLP (in Finnish). In preparation.Google Scholar
  2. 2.
    Burroughs Corp.: Burroughs B6700/B7700 Algol language reference manual. Burroughs Corporation, May 1974.Google Scholar
  3. 3.
    Gaine, Farber, Gordon, Inc.: S-Fortran language reference guide. Caine, Farber, Gordon, Inc., 1974.Google Scholar
  4. 4.
    CII Honeywell Bull: LALR(1) grammar for Ada. Unpublished computer listing, CII Honeywell Bull, 1979.Google Scholar
  5. 5.
    Dahl, O.-J., Myhrhaug, B. & Nygaard, K.: Simula 67 Common Base Language. Norwegian Computing Center, Oslo, 1968.Google Scholar
  6. 6.
    Dreisbach, T.A.: A declarative semantic definition of PL360. Technical Report UCLA-ENG-7289, Computer Science Department, University of California, Los Angeles, California, October 1972.Google Scholar
  7. 7.
    Erkiö,H., Sajaniemi,J. & Salava,A.: An implementation of Pascal on the Burroughs B6700. Report A-1977-1, May 1977.Google Scholar
  8. 8.
    Ikonen,M.: An attribute grammar for PL360 (in Finnish). Internal Report C-1979-24, January 1979.Google Scholar
  9. 9.
    Jazayeri,M. & Walter,K.G.: Alternating semantic evaluator. Proceedings of the ACM 1975 Annual Conference, October 1975, 230–234.Google Scholar
  10. 10.
    Knuth, D.E.: The Art of Computer Programming, Vol. 1: Fundamental Algorithms. Addison-Wesley, Reading, Mass., 1967.Google Scholar
  11. 11.
    Koskimies,K.: LALR(1) syntax analysis for the programming language Euclid (in Finnish). Internal Report C-1978-41, April 1978.Google Scholar
  12. 12.
    Koskimies,K. & Juutinen,L.: An attribute grammar for the compile-time semantics of a subset of the programming language Euclid. Internal Report C-1979-130, December 1979.Google Scholar
  13. 13.
    Laaksonen,H.: Code generation in the Pascal compiler produced by HLP (in Finnish). Internal Report C-1978-65, July 1978.Google Scholar
  14. 14.
    Laine, H., Maanavilja, O. & Peltola, E.: Grammatical data base model. Information Systems 4, 4 (1979), 257–267.CrossRefGoogle Scholar
  15. 15.
    Lampson,B.W., Horning,J.J., London,R.L., Mitchell,J.G. & Popek,G.J.: Report on the programming language Euclid. SIGPLAN Notices 12, 2 (February 1977).Google Scholar
  16. 16.
    Luikku,M. & Riekkola,E.: Construction of a PL/Mikko compiler (in Finnish). Internal Report C-1979-73, April 1979.Google Scholar
  17. 17.
    Maanavilja,O.: The query language in a grammatical data base model (in Finnish). Internal Report C-1979-45, March 1979.Google Scholar
  18. 18.
    Niittyranta,T.: An LALR(1) syntax for CODASYL Cobol (in Finnish). Internal Report C-1978-62, May 1978.Google Scholar
  19. 19.
    Nokia Electronics: MIKKO3 RTX LI PL programming language user's guide. Nokia Electronics, Helsinki, 1978.Google Scholar
  20. 20.
    Nurmi,O.: Testing the LR(k) and SLR(k) conditions in the compiler writing system HLP (in Finnish). Internal Report C-1979-82, June 1979.Google Scholar
  21. 21.
    Pietarinen,P.: Implementation of the job control language for HLP (in Finnish). Internal Report C-1978-49, April 1978.Google Scholar
  22. 22.
    Pozefsky, D.: Building efficient pass-oriented attribute grammar evaluators. Report TR 79-006, Department of Computer Science, University of North Carolina, Chapel Hill, N.C., 1979.Google Scholar
  23. 23.
    Preliminary Ada reference manual. SIGPLAN Notices 14, 6 (June 1979), Part A.Google Scholar
  24. 24.
    Räihä,K.-J.: On attribute grammars and their use in a compiler writing system. Report A-1977-4, August 1977.Google Scholar
  25. 25.
    Räihä, K.-J.: tDynamic allocation of space for attribute instances in multi-pass evaluators of attribute grammars. Proceedings of the SIGPLAN Symposium on Compiler Construction, SIGPLAN Notices 14, 8 (August 1979), 26–38.Google Scholar
  26. 26.
    Räihä,K.-J. & Saarinen,M.: Operating instructions for HLP. Internal Report C-1979-68, May 1979.Google Scholar
  27. 27.
    Räihä,K.-J., Saarinen,M., Soisalon-Soininen,E. & Tienari,M.: The compiler writing system HLP (Helsinki Language Processor). Report A-1978-2, March 1978.Google Scholar
  28. 28.
    Rikkilä,J.: A precompiler for B6700 S-Fortran (in Finnish). Internal Report C-1978-61, 1978.Google Scholar
  29. 29.
    Saarinen,M.: The lexical part of the compiler writing system HLP (in Finnish). Internal Report C-1978-55, October 1978.Google Scholar
  30. 30.
    Siitari,H.: Application of HLP in the construction of a MIXAL compiler (in Finnish). Internal Report C-1978-113, October 1978.Google Scholar
  31. 31.
    Siitari,H.: An attribute grammar for the programming language Simula (in Finnish). Internal Report C-1979-90, May 1979.Google Scholar
  32. 32.
    Sippu, S. & Soisalon-Soininen, E.: On defining error recovery in context-free parsing. Automata, Languages and Programming, Fourth Colloquium, A. Salomaa & M. Steinby (eds.), Springer-Verlag, Berlin-Heidelberg-New York, July 1977, 492–503.Google Scholar
  33. 33.
    Suikkanen,J.: Conflicts in the LALR(1) parsing automaton (in Finnish). Internal Report C-1980-5, November 1979.Google Scholar
  34. 34.
    Tarhio,J.: Parsing ambiguous grammars in the compiler writing system HLP (in Finnish). Internal Report C-1979-93, May 1979.Google Scholar
  35. 35.
    Tarhio,J.: An LALR(1) syntax for Extended Algol (in Finnish). Internal Report (to appear).Google Scholar
  36. 36.
    Tienari, M.: Research on programming languages and compilers. Data 11/-78 (1978), 75–78.Google Scholar
  37. 37.
    USASI: USA Standard Cobol. USAS X3.23-1968, USA Standards Institute, 1968.Google Scholar
  38. 38.
    Watt, D.: An extended attribute grammar for Pascal. SIGPLAN Notices 14, 2 (February 1979), 60–74.Google Scholar
  39. 39.
    Wilner, W.T.: Declarative semantic definition as illustrated by a definition of Simula 67. Ph.D. Thesis, Computer Science Department, Stanford University, Stanford, California, June 1971.Google Scholar
  40. 40.
    Wirth, N.: PL360, a programming language for the 360 computers. JACM 15, 1 (January 1968), 37–74.Google Scholar
  41. 41.
    Wirth,N.: The programming language Pascal (revised report). Bericht 5, Institut für Informatik, Eidgenössische Technische Hochschule, Zürich, 1972.Google Scholar
  42. 42.
    Wozencraft, J.M. & Evans, A. Jr.: Notes on programming linguistics. Department of Electrical Engineering, MIT, Cambridge, Mass., July 1979.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1980

Authors and Affiliations

  • Kari-Jouko Räihä
    • 1
  1. 1.Department of Computer ScienceUniversity of HelsinkiHelsinki 25Finland

Personalised recommendations