Skip to main content

Context Relations - a concept for incremental context analysis in program fragments

  • Chapter

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 77))

Abstract

For the generation of programming environments formal specification methods of programming languages are required, which support the specific features of the generated environment. In the case of the Programming System Generator developed in Darmstadt the central feature is the possibility to edit, interpret and catalogue arbitrary program fragments. Therefore, a specification method is necessary for the context analysis, which allows earliest possible context error detection even in incomplete programs.

In this paper a method of specifying the operator-operands compatability is presented, Which can be used as a very natural definitional tool and futhermore interpreted as a typing algorithm for the expressions in a fragment even in absence of declarations.

The translator of the specification into the incremental context analysis is implemented and successfully applied to Pascal.

Work of this author was supported by the “Deutsche Forschungsgemeinschaft”, grant He 117Ø/2-2

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, C. Beeri, J.D. Ullman: The theory of joins in relational databases. ACM transactions on database systems 4 (1979) S. 297–314.

    Article  Google Scholar 

  2. B. Austermühl, W. Herihapl: A generalised approach to the specification of context conditions, Bericht PU1R10/81, Technische Hochschule Darmstadt, Dezember 1981.

    Google Scholar 

  3. B. Austermühl: Context conditions of standard Pascal, Bericht FU1R14/81, Techn. Hochschule Darmstadt, April 1982.

    Google Scholar 

  4. B. Austermühl: Ein relationaler Ansatz zur Spezifikation der statischen Semantik von Programmier sprachen, Dissertation, Techn. Hochschule Darmstadt, Juli 1983.

    Google Scholar 

  5. R. Bahlke, W. Herihapl, T. Letschert: Forschungsvorhaben Prograimiersystemgenerator - Arbeitsbericht. Bericht PU1R8/82, Techn. Hochschule Darmstadt, März 1982.

    Google Scholar 

  6. R. Bahlke, T. Letschert: The BLKS system: towards the generation of programming environments, in: GI-Fachausschuss Conpiler-Ccmpiler, 3. Fachgespräch, 1982.

    Google Scholar 

  7. J. Corbin, M. Codoit: A rehabilitation of Robinsons unification algorithm, Proceedings of the IFIP 9th world computer congres, North-Holland, September 1983.

    Google Scholar 

  8. W. Herihapl: Context conditions in program fragments, Bericht PU1R1/80, Techn. Hochschule Darmstadt, Januar 1980.

    Google Scholar 

  9. M. Hunkel: Kontextanalyse im PSG-Editor, Diplomarbeit, Techn. Hochschule Darmstadt (forthcoming).

    Google Scholar 

  10. N.D. Jones, S.S. Muchnick: Binding time optimization in programming languages: Some thoughts toward the design of an ideal language, 3. Annual ACM Symposium on Principles of Programming languages 1976, 77–94.

    Google Scholar 

  11. M. Kaplan, J. Ullman: A scheme for the automatic inference of variable types, Journal of the ACM 27 (1980), 128–145.

    Article  MathSciNet  MATH  Google Scholar 

  12. D. E. Knuth: Semantics of context-free languages, Math, systems theory 2 (1968), 127–145.

    Article  MathSciNet  MATH  Google Scholar 

  13. A. Martelli, U. Montanari: An efficient unification algorithm, ACM Transactions on programming languages and sytems 4 (1982), 258–282.

    Article  MATH  Google Scholar 

  14. R. Milner: A theory of type polymorphism in programming languages, Journal of omputer and System sciences 17 (1978), 348–375.

    Article  MathSciNet  MATH  Google Scholar 

  15. T. Reps, T. Teitelbaum, A. Demers: Incremental context-dependent analysis for language-based editors, ACM Transactions on programming languages and systems 5 (1983), 3, 449–477.

    Article  Google Scholar 

  16. J.A. Robinson: A machine-oriented logic based on the resolution principle, Journal of the ACM 12 (1965), 1, 23–41.

    Article  MATH  Google Scholar 

  17. H. Schmitt: Bezeichneridentifikation im PSG-Editor, Diplomarbeit, Techn. Hochschule Darmstadt (forthcoming).

    Google Scholar 

  18. G. Snelting: Kontextrelationenverbände, Bericht PU1R9/83, Technische Hochschule Darmstadt, September 1983.

    Google Scholar 

  19. A.M. Teneribaum: Type determination for very high level languages, Report NSO-3, Courant Institute of Mathematical science, Computer Science Department, New York University 1974.

    Google Scholar 

  20. L.M. Wegner: On parsing two-level grammars, Acta Informatica 14 (1980), 175–193.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1984 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Henhapl, W., Snelting, G. (1984). Context Relations - a concept for incremental context analysis in program fragments. In: Ammann, U. (eds) Programmiersprachen und Programmentwicklung. Informatik-Fachberichte, vol 77. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-69393-9_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-69393-9_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-12905-9

  • Online ISBN: 978-3-642-69393-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics