ACM Home Page
Please provide us with feedback. Feedback
Incremental dynamic semantics for language-based programming environments
Full text PdfPdf (1.99 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 11 ,  Issue 2  (April 1989) table of contents
Pages: 169 - 193  
Year of Publication: 1989
ISSN:0164-0925
Author
G. E. Kaiser  Columbia Univ., New York, NY
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 39,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/63264.63400
What is a DOI?

ABSTRACT

Attribute grammars are a formal notation for expressing the static semantics of programming languages—those properties that can be derived from inspection of the program text. Attribute grammars have become popular as a mechanism for generating language-based programming environments that incrementally perform symbol resolution, type checking, code generation, and derivation of other static semantic properties as the program is modified. However, attribute grammars are not suitable for expressing dynamic semantics—those properties that reflect the history of program execution and/or user interactions with the programming environment. This paper presents action equations, an extension of attribute grammars suitable for specifying the static and the dynamic semantics of programming languages. It describes how action equations can be used to generate language-based programming environments that incrementally derive static and dynamic properties as the user modifies and debugs th e program.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
AMBRIOLA, V., KAISER, G. E., AND ELLISON, R.J. An action routine model for ALOE. Tech. Rep. CMU-CS-84-156, Carnegie Mellon Univ., Dept. of Computer Science, Aug. 1984.
 
2
ARCHER, J. E., JR., AND DEVLIN, U.T. Rational's experience using Ada for very large systems. In First International Conference on Ada Programming Language Applications for the NASA Space Station (Houston, Tex., June 1986). NASA, 1986, pp. B.2.5.1-B.2.5.11.
3
 
4
 
5
BARBUTI, R., BELLIA, M., DEGANO, P., LEVI, G., DAMERI, E., SIMONELLI, C., AND MARTELL{, A. Programming environment generation based on denotational semantics. In Theory and Practice of Software Technology. North-Holland, New York, 1983.
6
7
8
9
 
10
DESPEYROUX, V. Executable specification of static semantics. In Semantics of Data Types International Symposium, Lecture Notes in Computer Science 173. Springer, New York, 1984, pp. 215-233.
 
11
DONZEAU-GOUGE, V., HUET, G., KAHN, G., AND LANG, B. Programming environments based on structured editors: the Mentor experience. In Interactive Programming Environments, D. R. Barstow, H. E. Shrobe, and E. Sandewall, Eds. McGraw-Hill, New York, 1984, pp. 128-140.
12
 
13
ENGELS, C., GALL, R., NAGL, M., AND SCHAFER, W. Software specification using graph grammars. Computing 31 (1983), 317-346.
 
14
FARROW, R. Generating a production compiler from an attribute grammar. IEEE Softw. 1, 4 (Oct. 1984), 77-93.
15
 
16
 
17
FELLER, P. H., JALILI, F., AND SCHLICHTER, J.H. An interactive prototyping environment for language design. In 19th Hawaii International Conference on System Sciences (Honolulu, Hawaii, Jan. 1986). pp. 106-116.
 
18
FELLER, P. H., AND MEDINA-MORA, R. An incremental programmingenvironment. IEEE Trans. Softw. Eng. SE-7, 5 (Sept. 1981), 472-482.
 
19
 
20
GANZlNGER, H., RIPKEN, K., AND WILHELM, R. Automatic generation of optimizing multipass compilers. Information Processing 77 (New York, 1977). North-Holland, Amsterdam, 1977, pp. 535-540.
 
21
GARLAN, D. Flexible unparsing in a structure editing environment. Tech. Rep. CMU-CS-85- 129, Dept. of,Computer Science, Carnegie Mellon Univ., April 1985.
 
22
23
 
24
 
25
26
27
28
29
30
31
32
33
 
34
JOHNSON, S. C., AND LEAK, M.E. Language development tools. Bell Syst. Tech. J. 57, 6 (July- Aug. 1978), 2155-2175.
 
35
KAmER, G. E. Semantics of structure editing environments. Ph.D. dissertation, Tech. Rep. CMU-CS-85-131, Carnegie Mellon Univ., May 1985.
36
 
37
 
38
KAISER, G. E., AND GARLAN, D. Melding software systems from reusable building blocks. IEEE Softw. (July 1987), 17-24.
 
39
KAISER, G. E., AND KANT, E. Incremental parsing without a parser. J. Syst. Softw. 5, 2 (May 1985), 121-144.
 
40
KAISER, G. E., AND KAPLAN, S.M. Rapid prototyping of concurrent programming languages. In 8th International Conference on Distributed Computing Systems (San Jose, Calif., June 1988). IEEE, New York, 1988, pp. 250-255.
 
41
KAISER, G. E., KAPLAN, S. M., AND MICALLEF, J. Multiuser, distributed language-based environments. IEEE Softw. (Nov. 1987), 58-67.
 
42
KASTENS, U., HUTT, B., AND ZIMMERMANN, E. GAG: A Practical Compiler Generator. Lecture Notes in Computer Science, 141. Springer-Verlag, Heidelberg, 1982.
 
43
KNUTH, D.E. Semantics of context-flee languages. Math. Syst. Theor. 2, 2 (June 1968), 127- 145.
44
 
45
 
46
47
48
49
50
51
52
53
54
 
55
SCOTT, n., AND STRACHEY, C. Toward a mathematical semantics for computer languages. Tech. Rep. Tech. Monograph PRG-6, Oxford Univ. Computing Lab., Aug. 1971.
56
 
57
 
58
59
 
60
TEITELMAN, W., AND MASINTER, L. The Interlisp programming environment. IEEE Comput. 14, 4 (April 1981), 25-34.
61
 
62
 
63
WEGMAN, M.N. Parsing for structural editors. In 21st Annual Symposium on Foundations of Computer Science (Oct. 1980). IEEE, New York, pp. 320-327.



REVIEW

"Carlo Ghezzi : Reviewer"

This paper addresses the processing performed by language-based programming environments. In particular, it shows how attribute grammars may be used to express dynamic semantics (i.e., those properties that reflect the history of the program and  more...