ACM Home Page
Please provide us with feedback. Feedback
Attribute grammar paradigms—a high-level methodology in language implementation
Full text PdfPdf (5.15 MB)
Source ACM Computing Surveys (CSUR) archive
Volume 27 ,  Issue 2  (June 1995) table of contents
Pages: 196 - 255  
Year of Publication: 1995
ISSN:0360-0300
Author
Jukka Paakki  Univ. of Jyva¨skyla¨, Jyva¨skyla¨, Finland
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 36,   Downloads (12 Months): 191,   Citation Count: 27
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/210376.197409
What is a DOI?

ABSTRACT

Attribute grammars are a formalism for specifying programming languages. They have been applied to a great number of systems automatically producing language implementations from their specifications. The systems and their specification languages can be evaluated and classified according to their level of application support, linguistic characteristics, and degree of automation.A survey of attribute grammar-based specification languages is given. The modern advanced specification languages extend the core attribute grammar model with concepts and primitives from established programming paradigms. The main ideas behind the developed attribute grammar paradigms are discussed, and representative specification languages are presented with a common example grammar. The presentation is founded on mapping elements of attribute grammars to their counterparts in programming languages. This methodology of integrating two problem-solving disciplines together is explored with a classification of the paradigms into structured, modular, object-oriented, logic, and functional attribute grammars. The taxonomy is complemented by introducing approaches based on an implicit parallel or incremental attribute evaluation paradigm.


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
ABRAMSON, H. 1984. Defimte clause translation grammars. In Proceedings of the 1984 IEEE Symposium on Logzc Prograraramg (Atlantic City, N.J.). IEEE, New York, 233 240
 
2
ACM COMPUTINO SURVEYS 21, 3, 1989. Specml Issue on Programming Language Paradigms.
 
3
 
4
AKSIT, M., MOSTERT, R., AND HAVERKORT, B. 1990. Compiler generation based on grammar inheritance. Rep. 90-07, Dept. of Computer Science, Umv. of Twente.
 
5
 
6
 
7
ALBLAS, H. AND MELICHAR, B. (EDs) 1991. Attribute Grammar% Apphcations, and Systems. Lecture Notes in Computer Science, vol 545. Springer-Verlag, New York.
 
8
 
9
APPEL, A. W. AND MAcQuEEN, D. B. 1991. Standard ML of New Jersey In Proceedings o/ the 3rd Internatwnal Symposium on Prograrnmzng Language Implernentatmn and Logic Programming (PLILP '91). Lecture Notes m Computer Science, vol. 528, J. Maluszynsk~ and M. Wlrsmg, Eds. Springer-Verlag, New York, 1-13.
 
10
 
11
 
12
B^mCH, W. A AND JAZ^YERL M. 1978 The method of attributes for data flow analysis, Part I. Exhaustive analysis; Part II: Demand analysm Acta Inforraat~ca 10, 245-272.
 
13
BALLANCE, R. A. AND GRAHAM, S. L. 1991. Incremental consistency mmntenance for interactive applications In Proceedtngs of the 8th Internatmna{ Conference on Logic Programming, K. Furukawa, Ed The MIT Press, Cambridge, Mass., 895-909.
14
15
16
 
17
BOCHMANN, G. V. AND WARD, P. 1978. Compiler writing system for attribute grammars. Cornput. J. 21, 2, 144-148.
 
18
BOEHM, H.-J. AND ZWAENEPOEL, W. 1987. Parallel attribute grammar evaluation. In Proceedings of the 7th International IEEE Conference on Distributed Computing Systems (Berlin). IEEE, New York, 347-354.
 
19
BRYANT, B. R. AND PAN, A. 1989. Rapid prototyping of programming language semantics using Prolog. In Proceedings of IEEE COMPSAC '89 (Orlando, F1.). IEEE, New York, 439 446.
 
20
CHAPMAN, N. P. 1990. Defining, analysing and implementing communication protocols using attribute grammars. Formal Aspects Comput. 2, 359-392.
 
21
CHIRICA, L. M. AND MARTIN, D. F. 1979. An orderalgebraic definition of Knuthian semantics. Math. Syst. Theory 13, 1, 1 27.
 
22
CHOMSKY, N. 1959. On certain formal properties of grammars. Inf. Contr. 2, 137-167.
 
23
 
24
COURCELLE, B. AND FRANCHI-ZANNETTACCI, P. 1982. Attribute grammars and recursive program schemes. Theor. Comput. Sci. 17, 2, 163 191 (Part I) and 17, 3, 235 257 (Part II).
 
25
COUSINEAU, G. AND HUET, G. 1990. The CAML Primer. Tech. Rep. 122, INRIA.
 
26
 
27
DAHL, V. AND ABrAMSON, H. 1989. Logic Grammars. Springer-Verlag, New York.
 
28
DAttL, V. AND ABRAzMSON, H. 1984. Gapping grammars. In Proceedings of the 2rid Internattonal Logic Programming Conference (Uppsala).
 
29
DECLARATIVE SYSTEMS 1992. User Manual for the Linguist Translator-Writing System. Declarative Systems, Inc., Palo Alto, Calif.
 
30
 
31
DEPARTMENT OF DEFENSE. 1983. The Programming Language Ada, Reference Manual. ANSI/MIL- STD-1815A-1983. Springer-Verlag, New York.
 
32
 
33
 
34
DERANSART, P. AND MALUSZ~q'~SKI, J. 1985. Relating logic programs and attribute grammars. J. Logic Program. 2, 2, 119 155.
 
35
 
36
DING, S. AND KATAYAMA, T. 1993. Attributed state machines for behavior specification of reactive systems, In Proceedings of the 5th Internatwnal Conference on Software Engineering and Knowledge Engineering (SEKE'93) (San Francisco). Knowledge Systems Institute, 695-702.
 
37
 
38
EXPERT SOFTWARE SYSTEMS. 1984. MIRA, User's Manual. Expert Software Systems.
 
39
FANG, I. 1972. FOLDS A declarative semantic formal language definition system. Rep. STAN- CS-72-239, Computer Science Department, Stanford University, Stanford, Calif.
40
41
42
43
 
44
 
45
 
46
 
47
48
49
 
50
 
51
GiEGERICH, R. AND WILHELM, R. 1978. Counter-onepass features in one-pass compfiation: A formalisation using attribute grammars. Inf. Process. Lett. 7, 6, 279-284.
 
52
 
53
GROSCH, J. 1990. Object-oriented attribute grammars. In Proceedings of the 5th International Sympostum on Computer and Information ScleTzces (ISCIS V), A. E. Harmanm and E. Gelenke, Eds. 807 816.
54
 
55
GROSSMANN, R., HUTSCHENREITER, J., LAMPE, J., L(~TZSCH, J., AND MAGER, K. 1984. DEPOT2a--Metasystem fur die Analyse und Verarbeitung verbundener Fachsprachen. Anwenderhandbuch, Sektion Mathematlk, Technische Universit~t Dresden.
 
56
HANSON, D. R. 1981 Is block structure necessary? Soft. Prac. Exp. 11, 8, 853 866.
 
57
HEDIN, G. 1989. An object-oriented notation for attribute grammars. In Procee&ngs of the 3rd European Conference on Object-Oriented Programming (ECOOP '89), S. Cook, Ed. British Informatics Society Ltd., Nottingham, 329 345.
 
58
 
59
HEDIN, G. 1992. Incremental semantic analysis. Doctoral dissertation, Lund University.
 
60
61
62
63
64
 
65
JOHNSON, S. C. 1975. YACC, yet another compiler compiler. Rep. CS-TR-32, Bell Laboratories, Murray Hill, N.J.
 
66
67
 
68
JONES, R. 1986. Flex--An experience of Miranda. UKC Computing Laboratory Rep. 38, Univ. of Kent at Canterbury.
69
 
70
71
 
72
 
73
74
 
75
 
76
KASTENS, U. 1980. Ordered attributed grammars. Acta Informatica 13, 229-256.
 
77
 
78
KASTENS, U., HUTT, B., AND ZIMMERMANN, E. 1987. User Manual for the GAG-System, Verswn 7. GAG Documentation, GMD Forschungsstelle an der Universitiit Karlsruhe.
 
79
KASTENS, U., HUTT, B., AND ZIMMERMANN, E. 1982. GAG: A Practical Compiler Generator. Lecture Notes in Computer Science, vot. 141. Springer- Verlag, New York.
80
81
 
82
KLEENE, S. C. 1952. Introductwn to Metamathematics. North-Holland, Amsterdam.
 
83
KLEIN, E. 1992. Parallel ordered attribute grammars. In Proceedings of the IEEE Conference on Computer Languages. IEEE, New York, 106-116.
 
84
KLEIN, E. AND KOSKIMIES, K. 1989. The parallelization of one-pass compilers. Arbeitspapiere der GMD 416, Gesellschaft fdr Mathematik und Datenverabeitung mbH.
 
85
 
86
 
87
KNUTH, D. E. 1971. Examples of formal semantics. In Proceedings of the Symposium on Semantics of Algorithmic Languages. Lecture Notes in Mathematics, vol. 188, E. Engeler, Ed. Springer-Verlag, New York, 212-235.
 
88
KNUTH, D. E. 1968. Semantics of context-free languages. Math. Syst. Theory 2, 2, 127-145. (Corrigenda: Math. Syst. Theory 5, 1, 1971, 95-96.)
 
89
KNUTIt, D. E. 1965. On the translation of languages from left to right. Inf. Contr. 8, 6, 607-639.
 
90
 
91
 
92
93
 
94
 
95
 
96
 
97
 
98
 
99
 
100
101
 
102
LEwis, P. M., ROSENKRANTZ, D. J., AND STEARNS, R. E. 1974. Attributed translations. J. Comput. Syst. Sci. 9,279-307.
 
103
 
104
 
105
LONGLEY, M. 1987. Generating parsers in Miranda. UKC Computing Laboratory Rep. 49, Univ. of Kent at Canterbury.
 
106
 
107
MALUSZYNSKI, J. 1982. A comparison of the logic programming language Prolog with two-level grammars. In Proceedings of the 1st Internatwnal Logtc Programming Conference, M. van Caneghem, Ed. Faculte des Sciences de Luminy, Marseilles, 193-199
 
108
 
109
MAYO~I, B. 1981. Attribute grammars and mathematical semantics. SIAM J. Comput. 10, 3, 503 518.
110
 
111
NOLL, T. AND VOGLER, H. 1994. Top-down parsing with simultaneous evaluation of noncircular attribute grammars Fundamenta Inf. 20, 4, 285-331.
 
112
NOTK~N, D. 1985. The Gandalf Project. J. Syst Softw. 5, 91 106.
 
113
PAAKKI, J. 1991. PROFIT: A system integrating logic programming and attribute grammars. In Proceedings of the 3rd Internattonal Symposium on Programming Language Implementation and Logic Programming ( PLILP '91). Lecture Notes in Computer Science, vol. 528, J. Maluszynski and M. Wlrsing, Eds. Springer- Verlag, New York, 243-254.
 
114
 
115
116
 
117
PEREIRA, F. C. N. AND WARREN, D H. D. 1980. Definite clause grammars for language analysis--A survey of the formahsm and a comparison with augmented transition networks. Artif. Intell. 13, 231-278.
 
118
 
119
120
 
121
 
122
R/4IHA, K.-J., SAARINEN, M., SARJAKOSK!, M, SIPPU, S., SOISALON-SOININEN, E., AND TIENARI, M. 1983. Revised report on the compiler writing system HLP78. (Helsinki Language Processor). Rep A-1983-1, Dept of Computer Science, Univ of Helsinkl.
 
123
RIDJANOVIC, D. AND BRODIE, M. L. 1982. Defining database dynamics with attribute grammars. Inf. Process. Lett. 14~ 3, 132-138.
 
124
SATALUm, S. R. 1988 Generahzing semantic rules of attribute grammars using logic programs. Ph.D. thesis, Univ. of Iowa, Ames, Iowa.
 
125
 
126
 
127
 
128
 
129
 
130
STEEL, T B., JR. (ED). 1966. Formal language description languages for computer programming. In Procee&ngs of the IFIP Working Conference on Formal Language Descmptzon Languages. North-Holland, Amsterdam.
 
131
 
132
TOEZKL J., GYIMOTHY, T., HORVATH, T., AND KocsIs, F. 1989. Generating modular compilers m PROF-LP In Proceedings of the Works}~op on Compiler Compiler and P21gh Speed Compdattwn. Berlin (GDR) Rep. 3/89, Akademm der Wissenschaften der DDR, 156-166.
 
133
 
134
TSAI, W. AND FU, K. S. 1980 Attributed grammar A tool for combining syntactic and statistical approaches to pattern recognitmn. IEEE Trans Syst Man Cybernet. 10,873 885.
 
135
 
136
 
137
WAITE, W. M. 1986. Generator for attributed grammars--Abstract data type. Arbeitspapiere der GMD 219, Gesellschaft fdr Mathematik und Datenverarbeitung mbH.
 
138
VAN DE BURGT, S. P. AND TILANUS, P. A. J. 1989. Attributed ASN. 1. In Proceedings of the 2nd International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols. North-Holland, Amsterdam, 298-310.
 
139
WARRE~, D. H. D. 1980. Logic programming and compiler writing. Softw. Pract. Exp. 10, 2, 97-125.
 
140
WASSE~AN, A. I. (ED.). 1980. Tutorial on programming language design. In Proceedings oflEEE COMPSAC '80. IEEE Computer Society Press, Los Alamitos, Calif.
 
141
 
142
 
143
WATT, D. A. 1985. Modular description of programming languages. Rep. A-81-734, Computer Science Division-EECS, Univ. of California, Berkeley, Calif.
 
144
 
145
146
 
147
VORT~N, S. A. ~D LEBL~c, R. J. 1988. A naming specification language for syntaxdirected editors. In Proceedings of the IEEE Conference on Computer Languages (Miami Beach, Fla.). IEEE, New York, 250-257
 
148
 
149

CITED BY  27


REVIEW

"Donald J. Bagert, Jr. : Reviewer"

Attribute grammars are a major formalism for specifying programming language semantics. Section 1 includes an introduction to the basic concepts, definitions, notations, and limitations of attribute grammars, along with a small example.   more...