Regular r i gh t -pa r t grammars (RRPGs) are by now the accepted formalism for the d e f i n i t i o n of the context-free syntax of PLs. Compared with conventional context-free grammars (CFGs), RRP6s are more complex but offer in return several advantages. They improve readability through greater conciseness, avoid over-specification by uslng i t e r a t i o n instead of one-sided recursion, and may lead to oarsers more e f f i c i e n t in space and/or time.
{"title":"Regular right-part attribute grammars","authors":"Richard Jüllig, F. DeRemer","doi":"10.1145/502874.502891","DOIUrl":"https://doi.org/10.1145/502874.502891","url":null,"abstract":"Regular r i gh t -pa r t grammars (RRPGs) are by now the accepted formalism for the d e f i n i t i o n of the context-free syntax of PLs. Compared with conventional context-free grammars (CFGs), RRP6s are more complex but offer in return several advantages. They improve readability through greater conciseness, avoid over-specification by uslng i t e r a t i o n instead of one-sided recursion, and may lead to oarsers more e f f i c i e n t in space and/or time.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1984-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115892368","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper describes the implementation of inline procedures and functions inthe VAXELN Pascal compiler. Inline expansion translates the reverse Polish text produced by the parser into an intermediate language like that used in the VAX-11 PL/I and C compilers. The paper gives detailed descriptions of the front end's organization as it relates to inline routines and of the symbol substitutions made during inline expansion. The paper also discusses global optimization and the compiler's treatment of dynamically sized data, which is based on parametric types.
{"title":"Inline routines in VAXELN Pascal","authors":"M. D. MacLaren","doi":"10.1145/502874.502900","DOIUrl":"https://doi.org/10.1145/502874.502900","url":null,"abstract":"This paper describes the implementation of inline procedures and functions inthe VAXELN Pascal compiler. Inline expansion translates the reverse Polish text produced by the parser into an intermediate language like that used in the VAX-11 PL/I and C compilers. The paper gives detailed descriptions of the front end's organization as it relates to inline routines and of the symbol substitutions made during inline expansion. The paper also discusses global optimization and the compiler's treatment of dynamically sized data, which is based on parametric types.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"46 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1984-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114729082","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
P. Aigrain, S. Graham, R. Henry, M. McKusick, Eduardo Pelegrí-Llopart
3. Syntax and S e m a n t i c s A m a j o r i ssue in des igning a G r a h a m Glanville s ty le code g e n e r a t o r is the d e g r e e of s y n t a c t i c or s e m a n t i c spec i f i ca t ion of t h e t a r g e t mach ine . Broad ly speak ing , the " s y n t a c t i c " c o m p o n e n t of the spec i f i ca t ion is the m a c h i n e d e s c r i p t i o n g r a m m a r . The " s e m a n t i c " c o m p o n e n t s a r e the s e m a n t i c a t t r i b u t e s , s e m a n t i c p r e d i c a t e s , s e m a n t i c ac t ions , and eva lua t ion o r d e r c o n s t r a i n t s inf luencing the pa r s ing ac t ions . Any m a c h i n e d e s c r i p t i o n m e t h o d o l o g y is l ikely to use t he s a m e in fo rma t ion , b u t the i n f o r m a t i o n is d e s c r i b e d and c o n s i d e r e d by the p a r s e r in d i f f e ren t ways. S o m e r e s e a r c h e r s r e ly heavi ly on the s e m a n t i c c o m p o n e n t s [GaFS~], while o the r s , including ourse lves , have e m p h a s i z e d the use of syn tax .
3.语法和规格 在设计 G r a h a m Glanville s ty le code g e n e r a t o r 时,一个重要的问题是如何确定机器的规格或规格的用途。从广义上讲,"机械规格 "的 "机械 "是指机器的 "规格"。标准 "c o m p o n e t s" c o m p o n e n t s 是指标准、标准设计、标准实施和标准执行的影响。任何一种新技术都会以其独特的方式影响人们的生活,但人们的生活也会受到新技术的影响。许多国家都在大量使用合成税[GaFS~],而包括我国在内的其他国家都在使用合成税。
{"title":"Experience with a Graham-Glanville style code generator","authors":"P. Aigrain, S. Graham, R. Henry, M. McKusick, Eduardo Pelegrí-Llopart","doi":"10.1145/502874.502876","DOIUrl":"https://doi.org/10.1145/502874.502876","url":null,"abstract":"3. Syntax and S e m a n t i c s A m a j o r i ssue in des igning a G r a h a m Glanville s ty le code g e n e r a t o r is the d e g r e e of s y n t a c t i c or s e m a n t i c spec i f i ca t ion of t h e t a r g e t mach ine . Broad ly speak ing , the \" s y n t a c t i c \" c o m p o n e n t of the spec i f i ca t ion is the m a c h i n e d e s c r i p t i o n g r a m m a r . The \" s e m a n t i c \" c o m p o n e n t s a r e the s e m a n t i c a t t r i b u t e s , s e m a n t i c p r e d i c a t e s , s e m a n t i c ac t ions , and eva lua t ion o r d e r c o n s t r a i n t s inf luencing the pa r s ing ac t ions . Any m a c h i n e d e s c r i p t i o n m e t h o d o l o g y is l ikely to use t he s a m e in fo rma t ion , b u t the i n f o r m a t i o n is d e s c r i b e d and c o n s i d e r e d by the p a r s e r in d i f f e ren t ways. S o m e r e s e a r c h e r s r e ly heavi ly on the s e m a n t i c c o m p o n e n t s [GaFS~], while o the r s , including ourse lves , have e m p h a s i z e d the use of syn tax .","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1984-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129210019","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
FINAL P e r f o r m s p e e p h o l e o p t i m i z a t i o n and b r a n c h r e s o l u t i o n ; p r o d u c e s t h e o b j e c t m o d u l e . XREF P r o d u c e s a c r o s s r e f e r e n c e l i s t i n g . ILIST P o s t p r o c e s s e s t h e c o m p i l e r ' s l i s t i n g t o p r o d u c e a l i ~ t i n g i n w h i c h t h e s y m b o l i c o b j e c t c o d e i s i n t e r l e a v e d w i t h t h e s o u r c e
FINAL P e r f o r m s p e e p h o l e o p t i m a t i o n a n d b r a n c h r e s o l u t i o n ; p r o d u c e s t h e o b j e c t m o d u l e .XREF P r o d u c e s a c r o s s .ILIST P o s t p r o c e s s e s t e c o m p i l e r ' s l i s t i n g t o p r o d u c e a l i ~ t i n g i n w h i c h e s y m b o l i c o b j e c o d e s i n t e r l e a v e d w i t h e s o u r c e
{"title":"Engineering a high-capacity Pascal compiler for high performance","authors":"D. C. Robbins","doi":"10.1145/502874.502904","DOIUrl":"https://doi.org/10.1145/502874.502904","url":null,"abstract":"FINAL P e r f o r m s p e e p h o l e o p t i m i z a t i o n and b r a n c h r e s o l u t i o n ; p r o d u c e s t h e o b j e c t m o d u l e . XREF P r o d u c e s a c r o s s r e f e r e n c e l i s t i n g . ILIST P o s t p r o c e s s e s t h e c o m p i l e r ' s l i s t i n g t o p r o d u c e a l i ~ t i n g i n w h i c h t h e s y m b o l i c o b j e c t c o d e i s i n t e r l e a v e d w i t h t h e s o u r c e","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1984-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133314863","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A Fortran compiler for the FPS-164 scientific computer","authors":"Roy F. Touzeau","doi":"10.1145/502874.502879","DOIUrl":"https://doi.org/10.1145/502874.502879","url":null,"abstract":"","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1984-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129499640","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The classic problem of global register allocation is treated in a heuristic and practical manner by adopting the notion of priorities in node-coloring. The assignment of priorities is based on estimates of the benefits that can be derived from allocating individual quantities in registers. Using the priorities, the exponential coloring process can be made to run in linear time. Since the costs involved in register allocation are taken into account, the algorithm does not over-allocate. The algorithm can be parameterized to cater to different fetch characteristics and register configurations among machines. Measurements indicate that the register allocation scheme is effective on a number of target machines. The results confirm that, using priority-based coloring, global register allocation can be performed practically and efficiently.
{"title":"Register allocation by priority-based coloring","authors":"Fred C. Chow, J. Hennessy","doi":"10.1145/502874.502896","DOIUrl":"https://doi.org/10.1145/502874.502896","url":null,"abstract":"The classic problem of global register allocation is treated in a heuristic and practical manner by adopting the notion of priorities in node-coloring. The assignment of priorities is based on estimates of the benefits that can be derived from allocating individual quantities in registers. Using the priorities, the exponential coloring process can be made to run in linear time. Since the costs involved in register allocation are taken into account, the algorithm does not over-allocate. The algorithm can be parameterized to cater to different fetch characteristics and register configurations among machines. Measurements indicate that the register allocation scheme is effective on a number of target machines. The results confirm that, using priority-based coloring, global register allocation can be performed practically and efficiently.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1984-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130621998","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We have performed an investigation of using a dynamic programming to generate optimized code in a Graham-Glanville style code generator We use Earley's algorithm rather than an IR algorithm for parsing in the code generator Not only does the use of Earley's algorithm make the construction of the code generator very easy it allows the selection of optimal code by dynamic programming (using a modification of the technique developed by Lvon) We compare two implementations of this technique to conventional hand-coded code generators using a subset of BASIC as the source language Further we discuss the use of this technique in an experimental C compiler.
{"title":"Using dynamic programming to generate optimized code in a Graham-Glanville style code generator","authors":"T. Christopher, P. Hatcher, Ronald C. Kukuk","doi":"10.1145/502874.502877","DOIUrl":"https://doi.org/10.1145/502874.502877","url":null,"abstract":"We have performed an investigation of using a dynamic programming to generate optimized code in a Graham-Glanville style code generator We use Earley's algorithm rather than an IR algorithm for parsing in the code generator Not only does the use of Earley's algorithm make the construction of the code generator very easy it allows the selection of optimal code by dynamic programming (using a modification of the technique developed by Lvon) We compare two implementations of this technique to conventional hand-coded code generators using a subset of BASIC as the source language Further we discuss the use of this technique in an experimental C compiler.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1984-06-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131895655","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The compiler system described in this paper may be regarded as a special ization of the classical UNCOL-problem [Con58]. It has been developed at the Universi ty of Kie l and is current ly being used by Norsk-Data-Oietz Computer Systems, M0Ihelm, FRG. The system results from the need to lower maintenance costs and to achieve a high degree of por tabi l i ty of the compilers for the languages supported.
{"title":"A multi-language compiler system with automatically generated codegenerators","authors":"U. Schmidt, Reinhard Völler","doi":"10.1145/502874.502894","DOIUrl":"https://doi.org/10.1145/502874.502894","url":null,"abstract":"The compiler system described in this paper may be regarded as a special ization of the classical UNCOL-problem [Con58]. It has been developed at the Universi ty of Kie l and is current ly being used by Norsk-Data-Oietz Computer Systems, M0Ihelm, FRG. The system results from the need to lower maintenance costs and to achieve a high degree of por tabi l i ty of the compilers for the languages supported.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"66 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1984-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125423671","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper, attribute grammars are viewed as specifying translations from source language terms into target language terms. The terms are constructed over a hierarchical signature consisting of a semantic and a syntactic part. Attribute grammars are redefined to become morphisms in the category of such signatures, called attribute coupled grammars, such that they come with an associative composition operation. The composition allows for a new kind of modularity in compiler specifications. The paper also discusses properties of the concept with respect to attribute evaluation and application as a tree transformation device.
{"title":"Attribute coupled grammars","authors":"H. Ganzinger, R. Giegerich","doi":"10.1145/502874.502890","DOIUrl":"https://doi.org/10.1145/502874.502890","url":null,"abstract":"In this paper, attribute grammars are viewed as specifying translations from source language terms into target language terms. The terms are constructed over a hierarchical signature consisting of a semantic and a syntactic part. Attribute grammars are redefined to become morphisms in the category of such signatures, called attribute coupled grammars, such that they come with an associative composition operation. The composition allows for a new kind of modularity in compiler specifications. The paper also discusses properties of the concept with respect to attribute evaluation and application as a tree transformation device.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1984-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131103078","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
GLISP is a high-level language that is based on Lisp and is compiled into Lisp. It provides a versatile abstract-data-type facility with hierarchical inheritance of properties and object-centered programming. The object code produced by GLISP is optimized, so that it is about as efficient as handwritten Lisp. An integrated programming environment is provided, including editors for programs and data-type descriptions, interpretive programming features, and a display-based inspector/editor for data. GLISP is fully implemented.
{"title":"Data abstraction in GLISP","authors":"G. S. Novak","doi":"10.1145/800226.806863","DOIUrl":"https://doi.org/10.1145/800226.806863","url":null,"abstract":"GLISP is a high-level language that is based on Lisp and is compiled into Lisp. It provides a versatile abstract-data-type facility with hierarchical inheritance of properties and object-centered programming. The object code produced by GLISP is optimized, so that it is about as efficient as handwritten Lisp. An integrated programming environment is provided, including editors for programs and data-type descriptions, interpretive programming features, and a display-based inspector/editor for data. GLISP is fully implemented.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"121 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1983-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121396609","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}