首页 > 最新文献

SIGPLAN Conferences and Workshops最新文献

英文 中文
Generation of run-time environments 生成运行时环境
Pub Date : 1986-07-01 DOI: 10.1145/12276.13316
G. Kaiser
Attribute grammars have been used for many years for automated compiler construction. Attribute grammars support the description of semantic analysis, code generation and some code optimization in a formal declarative style. Other tools support the automation of lexical analysis and parsing. However, there is one large part of compiler construction that is missing from our toolkit: run-time environments. This paper introduces an extension of attribute grammars that supports the generation of run-time environments. The extension also supports the generation of interpreters, symbolic debugging tools, and other execution-time facilities./
属性语法已经用于自动编译器构造很多年了。属性语法支持以正式声明风格描述语义分析、代码生成和一些代码优化。其他工具支持词法分析和解析的自动化。然而,我们的工具包中缺少编译器构造的一个重要部分:运行时环境。本文介绍了支持生成运行时环境的属性语法的扩展。该扩展还支持解释器、符号调试工具和其他执行时工具的生成
{"title":"Generation of run-time environments","authors":"G. Kaiser","doi":"10.1145/12276.13316","DOIUrl":"https://doi.org/10.1145/12276.13316","url":null,"abstract":"Attribute grammars have been used for many years for automated compiler construction. Attribute grammars support the description of semantic analysis, code generation and some code optimization in a formal declarative style. Other tools support the automation of lexical analysis and parsing. However, there is one large part of compiler construction that is missing from our toolkit: run-time environments. This paper introduces an extension of attribute grammars that supports the generation of run-time environments. The extension also supports the generation of interpreters, symbolic debugging tools, and other execution-time facilities.\u0000/","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"89 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121919923","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}
引用次数: 10
Transformations of denotational semantics in semantics directed compiler generation 语义导向编译器生成中指称语义的转换
Pub Date : 1986-07-01 DOI: 10.1145/12276.13318
V. Royer
In semantics-directed compiler generation one is faced with the problem of how to translate a source semantic definition of a programming language into on equivalent target semantics closer to an implementation. Most of the existing works solve this problem in a non constructive way : a target semantics is exhibited first and then only proved correct against the source. We try to show that target semantics can be derived from source semantics in a constructive way and so that some correctness ideas are automatically preserved. The framework is denotational semantics.
在语义导向编译器生成中,人们面临着如何将编程语言的源语义定义转换为更接近实现的等效目标语义的问题。现有的大多数作品以一种非建设性的方式解决了这个问题:首先展示目标语义,然后只根据源证明正确。我们试图证明目标语义可以以一种建设性的方式从源语义中派生出来,从而自动保留一些正确性思想。框架是指称语义。
{"title":"Transformations of denotational semantics in semantics directed compiler generation","authors":"V. Royer","doi":"10.1145/12276.13318","DOIUrl":"https://doi.org/10.1145/12276.13318","url":null,"abstract":"In semantics-directed compiler generation one is faced with the problem of how to translate a source semantic definition of a programming language into on equivalent target semantics closer to an implementation. Most of the existing works solve this problem in a non constructive way : a target semantics is exhibited first and then only proved correct against the source. We try to show that target semantics can be derived from source semantics in a constructive way and so that some correctness ideas are automatically preserved. The framework is denotational semantics.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131730916","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}
引用次数: 9
Discovering machine-specific code improvements 发现特定于机器的代码改进
Pub Date : 1986-07-01 DOI: 10.1145/12276.13336
P. Kessler
I have designed and built a compiler construction tool that automates much of the case analysis necessary to exploit special purpose instructions on a target machine. Given a suitable description of the target machine, my analysis identifies instruction sequences that are equivalent to single instructions. During code generation, these equivalences can be used to avoid inefficient instruction sequences in favor of more efficient instructions.I present a working prototype of the instruction set analyzer needed in the framework outlined by [Giegerich 83]. In contrast to the work presented in [Davidson and Fraser 80, 84], I analyze machine descriptions during compiler construction, rather than analyzing instruction sequences that occur during code generation. [R Kessler 84] describes a system which analyzes machine descriptions during compiler construction, but which which is limited to discovering instructions that are equivalent to instruction sequences of length 2. The techniques presented here can identify instruction sequences of arbitrary length that are equivalent to single instructions.I have applied this analysis to the descriptions of two machines, and used the results to replace hand-written case analysis routines in an otherwise table-driven code generator [Henry 84].
我已经设计并构建了一个编译器构造工具,它可以自动执行在目标机器上利用特殊用途指令所必需的许多用例分析。给定目标机器的适当描述,我的分析确定了等同于单个指令的指令序列。在代码生成过程中,可以使用这些等价来避免低效的指令序列,以支持更高效的指令。我提出了[Giegerich 83]概述的框架中所需的指令集分析器的工作原型。与[Davidson and Fraser 80,84]中提出的工作相反,我在编译器构造期间分析机器描述,而不是分析代码生成期间发生的指令序列。[R Kessler 84]描述了一个在编译器构造过程中分析机器描述的系统,但该系统仅限于发现与长度为2的指令序列等效的指令。这里介绍的技术可以识别任意长度的指令序列,这些指令序列相当于单个指令。我已经将这种分析应用到两台机器的描述中,并使用结果来替换表驱动代码生成器中手写的案例分析例程[Henry 84]。
{"title":"Discovering machine-specific code improvements","authors":"P. Kessler","doi":"10.1145/12276.13336","DOIUrl":"https://doi.org/10.1145/12276.13336","url":null,"abstract":"I have designed and built a compiler construction tool that automates much of the case analysis necessary to exploit special purpose instructions on a target machine. Given a suitable description of the target machine, my analysis identifies instruction sequences that are equivalent to single instructions. During code generation, these equivalences can be used to avoid inefficient instruction sequences in favor of more efficient instructions.\u0000I present a working prototype of the instruction set analyzer needed in the framework outlined by [Giegerich 83]. In contrast to the work presented in [Davidson and Fraser 80, 84], I analyze machine descriptions during compiler construction, rather than analyzing instruction sequences that occur during code generation. [R Kessler 84] describes a system which analyzes machine descriptions during compiler construction, but which which is limited to discovering instructions that are equivalent to instruction sequences of length 2. The techniques presented here can identify instruction sequences of arbitrary length that are equivalent to single instructions.\u0000I have applied this analysis to the descriptions of two machines, and used the results to replace hand-written case analysis routines in an otherwise table-driven code generator [Henry 84].","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114213221","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}
引用次数: 21
Unifying view of recent LALR(1) lookahead set algorithms 最近LALR(1)前瞻集算法的统一观点
Pub Date : 1986-07-01 DOI: 10.1145/12276.13324
F. Ives
Since the introduction of LALR parsing, several algorithms have been presented for the computation of the lookahead sets needed to produce an LALR parser. The algorithm in Aho and Ullman[1] has perhaps received the widest exposure. The recent algorithms by DeRemer and Pennello[2] and Park, Choe, and Chang[4] are the most efficient.A new algorithm has been developed from an algorithm originally based on the Aho and Ullman algorithm and subsequently modified to take advantage of the efficiencies introduced by the DeRemer and Pennello algorithm. The new algorithm performs better than the Park, Choe, and Chang algorithm, and both perform better than the DeRemer and Pennello algorithm. The reasons for the relative performances are easily understood when the algorithms are presented in a common light.
自从引入LALR解析以来,已经提出了几种算法来计算生成LALR解析器所需的前瞻集。Aho和Ullman[1]中的算法可能得到了最广泛的曝光。最近由DeRemer和Pennello[2]以及Park, Choe, and Chang[4]提出的算法是最有效的。该算法最初基于Aho和Ullman算法,随后进行了修改,以利用DeRemer和Pennello算法引入的效率,从而开发了一种新的算法。新算法的性能优于Park、Choe、Chang算法,也优于DeRemer和Pennello算法。当这些算法以一种共同的方式呈现时,相对性能的原因很容易理解。
{"title":"Unifying view of recent LALR(1) lookahead set algorithms","authors":"F. Ives","doi":"10.1145/12276.13324","DOIUrl":"https://doi.org/10.1145/12276.13324","url":null,"abstract":"Since the introduction of LALR parsing, several algorithms have been presented for the computation of the lookahead sets needed to produce an LALR parser. The algorithm in Aho and Ullman[1] has perhaps received the widest exposure. The recent algorithms by DeRemer and Pennello[2] and Park, Choe, and Chang[4] are the most efficient.\u0000A new algorithm has been developed from an algorithm originally based on the Aho and Ullman algorithm and subsequently modified to take advantage of the efficiencies introduced by the DeRemer and Pennello algorithm. The new algorithm performs better than the Park, Choe, and Chang algorithm, and both perform better than the DeRemer and Pennello algorithm. The reasons for the relative performances are easily understood when the algorithms are presented in a common light.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125648542","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}
引用次数: 12
Direct parallelization of call statements 调用语句的直接并行化
Pub Date : 1986-07-01 DOI: 10.1145/12276.13329
R. Triolet, F. Irigoin, P. Feautrier
Asynchronous CALL statements are necessary in order to use more than one processor in current multiprocessors. Detecting CALL statements that may be executed in parallel is one way to fill this need. This approach requires accurate approximations of called procedure effects. This is achieved by using new objects called Region and Execution Context. An algorithm to find asynchronous CALL statements is given. It involves a new dependence test to compute data dependence graphs, which provides better results than previous ones even when no CALL statements are involved. This method has been implemented in Parafrase and preliminary results are encouraging.
为了在当前多处理器中使用多个处理器,异步CALL语句是必要的。检测可能并行执行的CALL语句是满足这一需求的一种方法。这种方法需要对所谓的过程效应进行精确的近似。这是通过使用名为Region和Execution Context的新对象来实现的。给出了一种查找异步CALL语句的算法。它涉及一个新的依赖性测试来计算数据依赖性图,即使不涉及CALL语句,它也比以前的测试提供更好的结果。该方法已在Parafrase中实现,初步结果令人鼓舞。
{"title":"Direct parallelization of call statements","authors":"R. Triolet, F. Irigoin, P. Feautrier","doi":"10.1145/12276.13329","DOIUrl":"https://doi.org/10.1145/12276.13329","url":null,"abstract":"Asynchronous CALL statements are necessary in order to use more than one processor in current multiprocessors. Detecting CALL statements that may be executed in parallel is one way to fill this need. This approach requires accurate approximations of called procedure effects. This is achieved by using new objects called Region and Execution Context. An algorithm to find asynchronous CALL statements is given. It involves a new dependence test to compute data dependence graphs, which provides better results than previous ones even when no CALL statements are involved. This method has been implemented in Parafrase and preliminary results are encouraging.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130642316","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}
引用次数: 215
Automatic generation of fixed-point-finding evaluators for circular, but well-defined, attribute grammars 为循环但定义良好的属性语法自动生成定点查找求值器
Pub Date : 1986-07-01 DOI: 10.1145/12276.13320
Rodney Farrow
In the traditional formulation of attribute grammars (AGs) circularities are not allowed, that is, no attribute-instance in any derivation tree may be defined in terms of itself. Elsewhere in mathematics and computing, though, circular (or recursive) definitions are commonplace, and even essential. Given appropriate constraints, recursive definitions are well-founded, and the least fixed-points they denote are computable. This is also the case for circular AGs.This paper presents constraints on individual attributes and semantic functions of an AG that are sufficient to guarantee that a circular AG specifies a well-defined translation and that circularly-defined attribute-instances can be computed via successive approximation. AGs that satisfy these constraints are called finitely recursive.An attribute evaluation paradigm is presented that incorporates successive approximation to evaluate circular attribute-instances, along with an algorithm to automatically construct such an evaluator. The attribute evaluators so produced are static in the sense that the order of evaluation at each production-instance in the derivation-tree is determined at the time that each translator is generated.A final algorithm is presented that tells which individual attributes and functions must satisfy the constraints.
在传统的属性语法(AGs)公式中,不允许循环,即任何派生树中的属性实例都不能根据自身定义。然而,在数学和计算的其他领域,循环(或递归)定义是司空见惯的,甚至是必不可少的。给定适当的约束条件,递归定义是有充分根据的,它们所表示的最小不动点是可计算的。这也是圆形AGs的情况。本文给出了循环翻译的个别属性和语义函数的约束条件,这些约束条件足以保证循环翻译指定了一个定义良好的翻译,并且循环定义的属性实例可以通过逐次逼近来计算。满足这些约束的AGs被称为有限递归。提出了一种采用逐次逼近法对循环属性实例求值的属性求值范式,并给出了一种自动构造这种求值器的算法。这样生成的属性求值器是静态的,因为派生树中每个生产实例的求值顺序是在生成每个转换器时确定的。最后给出了一种算法来确定哪些单独的属性和函数必须满足约束。
{"title":"Automatic generation of fixed-point-finding evaluators for circular, but well-defined, attribute grammars","authors":"Rodney Farrow","doi":"10.1145/12276.13320","DOIUrl":"https://doi.org/10.1145/12276.13320","url":null,"abstract":"In the traditional formulation of attribute grammars (AGs) circularities are not allowed, that is, no attribute-instance in any derivation tree may be defined in terms of itself. Elsewhere in mathematics and computing, though, circular (or recursive) definitions are commonplace, and even essential. Given appropriate constraints, recursive definitions are well-founded, and the least fixed-points they denote are computable. This is also the case for circular AGs.\u0000This paper presents constraints on individual attributes and semantic functions of an AG that are sufficient to guarantee that a circular AG specifies a well-defined translation and that circularly-defined attribute-instances can be computed via successive approximation. AGs that satisfy these constraints are called finitely recursive.\u0000An attribute evaluation paradigm is presented that incorporates successive approximation to evaluate circular attribute-instances, along with an algorithm to automatically construct such an evaluator. The attribute evaluators so produced are static in the sense that the order of evaluation at each production-instance in the derivation-tree is determined at the time that each translator is generated.\u0000A final algorithm is presented that tells which individual attributes and functions must satisfy the constraints.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122971141","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}
引用次数: 95
Efficient incremental evaluation of aggregate values in attribute grammars 属性语法中聚合值的有效增量计算
Pub Date : 1986-07-01 DOI: 10.1145/12276.13315
R. Hoover, T. Teitelbaum
Aggregate valued attributes, which store collections of keyed elements, are required in attribute grammars to communicate information from multiple definition sites to multiple use locations. For syntax directed editors and incremental compilers, symbol tables are represented as aggregate values. We present efficient algorithms for incrementally maintaining these aggregate values and give an incremental evaluation algorithm that restricts attribute propagation to attributes dependent only upon information within the aggregate value that has changed.
存储键元素集合的聚合值属性在属性语法中是必需的,以便将信息从多个定义站点传递到多个使用位置。对于语法导向的编辑器和增量编译器,符号表表示为聚合值。我们提出了用于增量维护这些聚合值的有效算法,并给出了一种增量计算算法,该算法将属性传播限制为仅依赖于已变化的聚合值内的信息的属性。
{"title":"Efficient incremental evaluation of aggregate values in attribute grammars","authors":"R. Hoover, T. Teitelbaum","doi":"10.1145/12276.13315","DOIUrl":"https://doi.org/10.1145/12276.13315","url":null,"abstract":"Aggregate valued attributes, which store collections of keyed elements, are required in attribute grammars to communicate information from multiple definition sites to multiple use locations. For syntax directed editors and incremental compilers, symbol tables are represented as aggregate values. We present efficient algorithms for incrementally maintaining these aggregate values and give an incremental evaluation algorithm that restricts attribute propagation to attributes dependent only upon information within the aggregate value that has changed.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128826088","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}
引用次数: 33
Static evaluation of functional programs 函数程序的静态求值
Pub Date : 1986-07-01 DOI: 10.1145/12276.13331
G. Lindstrom
Static evaluation underlies essentially all techniques for a priori semantic program manipulation, i.e. those that stop short of fully general execution. Included are such activities as type checking, partial evaluation, and, ultimately, optimized compilation.This paper describes a novel approach to static evaluation of programs in functional languages involving infinite data objects, i.e. those using normal order or “lazy” evaluation. Its principal features are abstract interpretation on a domain of demand patterns, and a notion of function “reversal”. The latter associates with each function f a derived function f' mapping demand patterns on f to demand patterns on its formal parameter. This is used for a comprehensive form of strictness analysis, aiding in efficient compilation.This analysis leads to a revised notion of basic block, appropriate as an intermediate representation for a normal order functional language. An implementation of the analysis technique in Prolog is sketched, as well as an effort currently underway to apply the technique to the generation of optimized G-machine code.
静态求值基本上是所有先验语义程序操作技术的基础,即那些停止完全通用执行的技术。包括类型检查、部分求值以及最终的优化编译等活动。本文描述了函数式语言中涉及无限数据对象的程序静态求值的一种新方法,即使用正常顺序或“惰性”求值的程序。它的主要特点是对需求模式领域的抽象解释,以及功能“反转”的概念。后者与每个函数f关联一个派生函数f',将f上的需求模式映射到其形式参数上的需求模式。这用于全面形式的严格性分析,有助于有效的编译。这种分析导致了对基本块概念的修订,适合作为正常顺序函数式语言的中间表示。概述了Prolog中分析技术的实现,以及目前正在进行的将该技术应用于生成优化的G-machine代码的工作。
{"title":"Static evaluation of functional programs","authors":"G. Lindstrom","doi":"10.1145/12276.13331","DOIUrl":"https://doi.org/10.1145/12276.13331","url":null,"abstract":"Static evaluation underlies essentially all techniques for a priori semantic program manipulation, i.e. those that stop short of fully general execution. Included are such activities as type checking, partial evaluation, and, ultimately, optimized compilation.\u0000This paper describes a novel approach to static evaluation of programs in functional languages involving infinite data objects, i.e. those using normal order or “lazy” evaluation. Its principal features are abstract interpretation on a domain of demand patterns, and a notion of function “reversal”. The latter associates with each function f a derived function f' mapping demand patterns on f to demand patterns on its formal parameter. This is used for a comprehensive form of strictness analysis, aiding in efficient compilation.\u0000This analysis leads to a revised notion of basic block, appropriate as an intermediate representation for a normal order functional language. An implementation of the analysis technique in Prolog is sketched, as well as an effort currently underway to apply the technique to the generation of optimized G-machine code.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123366342","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}
引用次数: 21
Effectiveness of a machine-level, global optimizer 机器级全局优化器的有效性
Pub Date : 1986-07-01 DOI: 10.1145/12276.13321
M. S. Johnson, T. Miller
We present an overview of the design of a machine-code-level, global (intraprocedural) optimizer that supports several front-ends producing code for the Hewlett-Packard Precision Architecture family of machines. The basic optimization strategy is described, including information about the division of responsibilities between various components of the compiler. Optimization algorithms are described, including a discussion of the dataflow information they require. Measurements showing the collective and individual effects of various optimizer components are presented.The performance data presented here was collected using a preliminary version of the optimizer. Development is continuing and further improvements are expected.
我们概述了一个机器代码级的全局(过程内)优化器的设计,该优化器支持为Hewlett-Packard Precision Architecture系列机器生成代码的多个前端。描述了基本的优化策略,包括有关编译器各个组件之间职责划分的信息。描述了优化算法,包括对它们所需的数据流信息的讨论。测量显示的集体和个别影响的各种优化器组件提出。这里展示的性能数据是使用优化器的初步版本收集的。开发仍在继续,预计会有进一步的改进。
{"title":"Effectiveness of a machine-level, global optimizer","authors":"M. S. Johnson, T. Miller","doi":"10.1145/12276.13321","DOIUrl":"https://doi.org/10.1145/12276.13321","url":null,"abstract":"We present an overview of the design of a machine-code-level, global (intraprocedural) optimizer that supports several front-ends producing code for the Hewlett-Packard Precision Architecture family of machines. The basic optimization strategy is described, including information about the division of responsibilities between various components of the compiler. Optimization algorithms are described, including a discussion of the dataflow information they require. Measurements showing the collective and individual effects of various optimizer components are presented.\u0000The performance data presented here was collected using a preliminary version of the optimizer. Development is continuing and further improvements are expected.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115739427","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}
引用次数: 45
A globalizing transformation for attribute grammars 属性语法的全球化转换
Pub Date : 1986-07-01 DOI: 10.1145/12276.13319
Kari-Jouko Räihä, J. Tarhio
A transformation is presented for replacing conventional local attribute references in attribute grammars by upward remote references. The purpose of the transformation is to enhance readability of the grammar and to facilitate easy storage optimization.
提出了一种将属性语法中传统的局部属性引用替换为向上远程引用的方法。转换的目的是增强语法的可读性,并简化存储优化。
{"title":"A globalizing transformation for attribute grammars","authors":"Kari-Jouko Räihä, J. Tarhio","doi":"10.1145/12276.13319","DOIUrl":"https://doi.org/10.1145/12276.13319","url":null,"abstract":"A transformation is presented for replacing conventional local attribute references in attribute grammars by upward remote references. The purpose of the transformation is to enhance readability of the grammar and to facilitate easy storage optimization.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1986-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128606454","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}
引用次数: 2
期刊
SIGPLAN Conferences and Workshops
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1