Skip to main content

Language Definition in the Schütz Semantic Editor

  • Conference paper
Book cover Modular Programming Languages (JMLC 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2789))

Included in the following conference series:

Abstract

The Schütz semantic editor intends to perform semantic analysis, incrementally during editing, on possibly incomplete and incorrect programs. Currently, the project is addressing a prerequisite problem of maintaining an internal tree representation, necessary for semantic analysis, while presenting the user with a text-editor style interface, essential for programmer acceptance. Prior papers have addressed the language-independent aspects of our data structure and algorithms. Here, we discuss our specifications of the language to be edited. These are initially written in a purpose-designed Language Definition Language (LDL), then transformed into internal form needed by the editor. Our approach is to first build a syntactic editor for its own LDL, then use this to define an editor for its own implementation language, i.e., Modula-3, add incremental semantics, and finally to define editors for other programming languages. We summarize our language-independent data structure and algorithms and how they are specialized for a specific language. We describe our LDL in detail and how it has evolved to support Modula-3. The current implementation supports editing of LDL descriptions. The principal contribution of this paper is that LDL is an essential part of our method of providing an acceptable user-interface, without which semantic editing would be irrelevant.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bahlke, R., Snelting, G.: The PSG System: From Formal Language Definitions to Interactive Programming Environments. ACM Transactions on Programming Languages and Systems 8(4), 547–576 (1986)

    Article  Google Scholar 

  2. Barrett, W., Bates, R., Gustafson, D., Couch, J.: Compiler Construction Theory and Practice, 2nd edn., SRA (1986)

    Google Scholar 

  3. Bagai, R., Bates, R.: Text Editing, Syntax-Directed Editing. In: International Conference on Advances in Infrastructure for Electronic Business, Science, and Education on the Internet, L’Aquila Italy (August 2001)

    Google Scholar 

  4. Bates, R.: Sequence-Trees: Slicing and Concatenation of Sequences in Logarithmic Time. In: presented at 14th Midwest Conference on Combinatorics, Cryptography, and Computing, Wichita State University, Wichita, KS (October 2000)

    Google Scholar 

  5. Bates, R.: Text Editor Interfaces for Semantic Editors., SBLP2002, VI Simpósio Brasileiro do Linguagens de Programmação, Rio de Janeiro, Brazil (June 2002)

    Google Scholar 

  6. Bates, R.: Logarithmic-Time Slicing and Concatenation of Sequences. Journal of Combinatorial Mathematics and Combinatorial Computing 42 (August 2002)

    Google Scholar 

  7. Boshernitsan, M.: Harmonia: A Flexible Framework for Constructing Interactive Language-Based Programming Tools, Tech. Report CSD-01-1149, University of California, Berkeley (June 2001)

    Google Scholar 

  8. Habermann, A., Notkin, D.: Gandalf: Software Development Environments. IEEE Transactions on Software Engineering SE-12(12), 1117–1127 (1986)

    Google Scholar 

  9. Halme, H., Heinaenen, J.: GNU Emacs as a Dynamically Extensible Programming Environment. Software-Practice and Experience 18(10), 999–1009 (1988)

    Article  Google Scholar 

  10. Kaiser, G., Feiler, P., Jalili, F., Schlichter, J.: A Retrospective on DOSE: An Interpretive Approach to Structure Editor Generation. Software Practice and Experience 18(8), 733–748 (1988)

    Article  Google Scholar 

  11. Maddox, W.: Incremental Static Semantic Analysis., Ph.D. dissertation, Report No. UCB//CSD-97-948, Computer Science Division, University of California, Berkeley, CA

    Google Scholar 

  12. Morris, J., Schwartz, M.: The Design of a Language-Directed Editor for Block- Structured Languages. ACM SIGPLAN Notices 16(6), 28–33 (1981)

    Article  Google Scholar 

  13. Reiss, S.: Graphical Program Development with PECAN Program Development Systems. ACM SIGPLAN Notices 19(5), 30–41 (1984)

    Article  Google Scholar 

  14. Reps, T., Teitelbaum, T., Demers, A.: Incremental Context-Dependent Analysis for Language-Based Editors. ACM Transactions on Programming Languages and Systems 5(3), 449–477 (1983)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bates, R.M. (2003). Language Definition in the Schütz Semantic Editor. In: Böszörményi, L., Schojer, P. (eds) Modular Programming Languages. JMLC 2003. Lecture Notes in Computer Science, vol 2789. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45213-3_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-45213-3_29

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40796-6

  • Online ISBN: 978-3-540-45213-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics