Computer Languages最新文献

筛选
英文 中文
Generating optimal contiguous evaluations for expression DAGs 生成表达dag的最优连续评估
Computer Languages Pub Date : 1995-07-01 DOI: 10.1016/0096-0551(95)00005-O
Christoph W. Keβler , Thomas Rauber
{"title":"Generating optimal contiguous evaluations for expression DAGs","authors":"Christoph W. Keβler ,&nbsp;Thomas Rauber","doi":"10.1016/0096-0551(95)00005-O","DOIUrl":"10.1016/0096-0551(95)00005-O","url":null,"abstract":"<div><p>We consider the NP-complete problem of generating contiguous evaluations for expression DAGs with a minimal number of registers. We present two algorithms that generate optimal contiguous evaluation for a given DAG. The first is a modification of a complete search algorithm that omits the generation of redundant evaluations. The second algorithm generates only the most promising evaluations by splitting the DAG into trees with import and export nodes and evaluating the trees with a modified labeling scheme. Experiments with randomly generated DAGs and large DAGs from real application programs confirm that the new algorithms generate optimal contiguous evaluations quite fast.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"21 2","pages":"Pages 113-127"},"PeriodicalIF":0.0,"publicationDate":"1995-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(95)00005-O","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89732721","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}
引用次数: 3
Gras: A general framework for combining automatic code generation and register allocation Gras:结合自动代码生成和寄存器分配的通用框架
Computer Languages Pub Date : 1995-07-01 DOI: 10.1016/0096-0551(95)00004-N
Kelvin S. Bryant , Jon Mauney
{"title":"Gras: A general framework for combining automatic code generation and register allocation","authors":"Kelvin S. Bryant ,&nbsp;Jon Mauney","doi":"10.1016/0096-0551(95)00004-N","DOIUrl":"https://doi.org/10.1016/0096-0551(95)00004-N","url":null,"abstract":"<div><p>We present a system for producing retargetable code generators containing coloring-based register allocators. The compiler writer specifies the overall register characteristics of the target machine, as well as the specific register requirements of individual assembly instructions. A Code Generator Prepass processes the specific instruction requirements so that they can be considered during register allocation. We also present our notion of “generic” coloring algorithms which simplify the retargeting of register allocators to different architectures. The system is suitable for RISC and CISC architectures</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"21 2","pages":"Pages 101-112"},"PeriodicalIF":0.0,"publicationDate":"1995-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(95)00004-N","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91591818","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}
引用次数: 0
I+: A multiparadigm language for object-oriented declarative programming I+:面向对象声明式编程的多范式语言
Computer Languages Pub Date : 1995-07-01 DOI: 10.1016/0096-0551(95)00003-M
K.W. Ng , C.K. Luk
{"title":"I+: A multiparadigm language for object-oriented declarative programming","authors":"K.W. Ng ,&nbsp;C.K. Luk","doi":"10.1016/0096-0551(95)00003-M","DOIUrl":"https://doi.org/10.1016/0096-0551(95)00003-M","url":null,"abstract":"<div><p>This paper presents a multiparadigm language <em>I</em><sup>+</sup> which is an integration of the three major programming paradigms: object-oriented, logic and functional. <em>I</em><sup>+</sup> has an object-oriented framework in which the notions of classes, objects, methods, inheritance and message passing are supported. Methods may be specified as clauses or functions, thus the two declarative paradigms are incorporated at the method level of the object-oriented paradigm. In addition, two levels of parallelism may be exploited in <em>I</em><sup>+</sup> programming. Therefore <em>I</em><sup>+</sup> is a multiparadigm language for object-oriented declarative programming as well as parallel programming.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"21 2","pages":"Pages 81-100"},"PeriodicalIF":0.0,"publicationDate":"1995-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(95)00003-M","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91748265","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}
引用次数: 11
A grammatical specification of human-computer dialogue 人机对话的语法规范
Computer Languages Pub Date : 1995-04-01 DOI: 10.1016/0096-0551(94)00016-J
Albert Nymeyer
{"title":"A grammatical specification of human-computer dialogue","authors":"Albert Nymeyer","doi":"10.1016/0096-0551(94)00016-J","DOIUrl":"https://doi.org/10.1016/0096-0551(94)00016-J","url":null,"abstract":"<div><p>The Seeheim Model of human-computer interaction partitions an interactive application into a user-interface, a dialogue controller and the application itself. One of the formal techniques of implementing the dialogue controller is based on context-free grammars and automata. In this work, we modify an off-the-shelf compiler generator (YACC) to generate the dialogue controller. The dialogue controller is then integrated into the popular X-window system, to create an interactive-application generator. The actions of the user drive the automaton, which in turn controls the application.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"21 1","pages":"Pages 1-16"},"PeriodicalIF":0.0,"publicationDate":"1995-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(94)00016-J","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"89993110","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}
引用次数: 6
Scheduling expression trees with reusable registers on delayed-load architectures 在延迟加载架构中使用可重用寄存器调度表达式树
Computer Languages Pub Date : 1995-04-01 DOI: 10.1016/0096-0551(95)00001-K
R. Venugopal, Y.N. Srikant
{"title":"Scheduling expression trees with reusable registers on delayed-load architectures","authors":"R. Venugopal,&nbsp;Y.N. Srikant","doi":"10.1016/0096-0551(95)00001-K","DOIUrl":"10.1016/0096-0551(95)00001-K","url":null,"abstract":"<div><p>In this paper, we look at the problem of scheduling expression trees with reusable registers on delayed load architectures. Reusable registers come into the picture when the compiler has a data-flow analyzer which is able to estimate the extent of use of the registers. Earlier work considered the same problem without allowing for register variables. Subsequently, Venugopal considered non-reusable registers in the tree. We further extend these efforts to consider a much more general form of the tree. We describe an approximate algorithm for the problem. We formally prove that the code schedule produced by this algorithm will, in the worst case, generate one interlock and use just one more register than that used by the optimal schedule. Spilling is minimized. The approximate algorithm is simple and has linear complexity.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"21 1","pages":"Pages 49-65"},"PeriodicalIF":0.0,"publicationDate":"1995-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(95)00001-K","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79589655","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}
引用次数: 3
Extracting program structure for packaging in a component-based environment 提取程序结构,以便在基于组件的环境中打包
Computer Languages Pub Date : 1995-04-01 DOI: 10.1016/0096-0551(94)00013-G
James M. Purtilo, Thomas M. Swiss, Elizabeth White L.
{"title":"Extracting program structure for packaging in a component-based environment","authors":"James M. Purtilo,&nbsp;Thomas M. Swiss,&nbsp;Elizabeth White L.","doi":"10.1016/0096-0551(94)00013-G","DOIUrl":"https://doi.org/10.1016/0096-0551(94)00013-G","url":null,"abstract":"<div><p>The development of a large-scale software application naturally lends itself to a top-down development process where the problem is divided into smaller problems that are dispersed among multiple people or teams. Once these sub-problems have been solved, the software components or <em>modules</em> implementing these solutions are integrated into the whole for a final solution. In a component-based environment, large applications are constructed by combining software components in a variety of ways. In such an environment, the components may be implemented in different languages and be distributed across different machines. Alternately, these modules may be different parts of a program running in a single address space. These options (and the many options in between) require different techniques for integration. Software packaging is an important method for assisting in the process of assembling large programs from separate pieces, especially over a heterogeneous environment (an environment consisting of different machines, architecture, languages or operating systems). A software packager is a tool that takes a description of the modules of a program, the available connection methods, and the final desired connection geometry, and creates the integration methods to create the application.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"21 1","pages":"Pages 39-48"},"PeriodicalIF":0.0,"publicationDate":"1995-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(94)00013-G","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91603566","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}
引用次数: 5
Semantic issues in the design of languages for debugging 调试语言设计中的语义问题
Computer Languages Pub Date : 1995-04-01 DOI: 10.1016/0096-0551(94)00015-I
Richard H. Crawford, Ronald A. Olsson, W.Wilson Ho, Christopher E. Wee
{"title":"Semantic issues in the design of languages for debugging","authors":"Richard H. Crawford,&nbsp;Ronald A. Olsson,&nbsp;W.Wilson Ho,&nbsp;Christopher E. Wee","doi":"10.1016/0096-0551(94)00015-I","DOIUrl":"https://doi.org/10.1016/0096-0551(94)00015-I","url":null,"abstract":"<div><p>The design of debugging tools is often <em>ad hoc</em>, with tools tailor-made for specific target languages and operating systems. Consequently, no unified theory of debugger design has emerged. Especially neglected is the design of languages to control debugging activities—and fundamental issues that arise in the implementation and use of such languages. We introduce GDL, a powerful low-level debugging language whose primitives capture the intuitive, informal semantics used in imperative debugging. GDL can be extended to incorporate higher-level constructs, hence we use it as our vehicle to examine central semantic issues that confront designers and implementors of debugging languages.</p><p>We gauge the efficiency of various GDL constructs on typical architectures and highlight semantic issues arising from the integration of those mechanisms. Our exploration of semantic issues is intended to provide guidance for designers of debugging languages, to ensure all high-level language features can be mapped cleanly and efficiently onto underlying architectural hooks, without endangering the semantic integrity of those high-level constructs.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"21 1","pages":"Pages 17-37"},"PeriodicalIF":0.0,"publicationDate":"1995-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(94)00015-I","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91603567","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}
引用次数: 0
Algebraic tools for language processing 语言处理的代数工具
Computer Languages Pub Date : 1994-11-01 DOI: 10.1016/0096-0551(94)90005-1
Teodor Rus, Tom Halverson
{"title":"Algebraic tools for language processing","authors":"Teodor Rus,&nbsp;Tom Halverson","doi":"10.1016/0096-0551(94)90005-1","DOIUrl":"10.1016/0096-0551(94)90005-1","url":null,"abstract":"<div><p>A language space provides a unified framework to deal with the properties of language constructs by associating them with their specification rules. The concrete syntax is represented by segments of the language space. The semantics is given by derived operations of the algebras where these constructs are interpreted by the processing tools operating on the language space. We examine in this paper only processing tools that collect syntactic information over the language space. Tools involved in semantics processing such as translators and interpreters are also integrated in the language space but are not discussed here.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"20 4","pages":"Pages 213-238"},"PeriodicalIF":0.0,"publicationDate":"1994-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(94)90005-1","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81551760","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}
引用次数: 25
Parallel arithmetic expression evaluation on reconfigurable meshes 可重构网格的并行算法表达式求值
Computer Languages Pub Date : 1994-11-01 DOI: 10.1016/0096-0551(94)90008-6
B. Pradeep , C. Siva Ram Murthy
{"title":"Parallel arithmetic expression evaluation on reconfigurable meshes","authors":"B. Pradeep ,&nbsp;C. Siva Ram Murthy","doi":"10.1016/0096-0551(94)90008-6","DOIUrl":"10.1016/0096-0551(94)90008-6","url":null,"abstract":"<div><p>In this paper we present an <em>O</em>(log <em>n</em>) time parallel algorithm for arithmetic expression evaluation, on an <em>n</em> × <em>n</em> processor array with reconfigurable bus system, where <em>n</em> is the sum of the number of operators and constants in the expression. The basic technique involved here is leaves-cutting (rake operation), as in the case of PRAM model algorithms available in the literature for this problem. The input to our algorithm is assumed to be the binary tree associated with a given expression (also known as expression tree with <em>n</em> number of nodes). Our algorithm is faster compared to the previous best time for expression evaluation on mesh connected computers which is <em>O</em>(√<em>n</em>).</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"20 4","pages":"Pages 267-277"},"PeriodicalIF":0.0,"publicationDate":"1994-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(94)90008-6","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"87129127","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}
引用次数: 4
A practical minimum distance method for syntax error handling 一个实用的最小距离语法错误处理方法
Computer Languages Pub Date : 1994-11-01 DOI: 10.1016/0096-0551(94)90006-X
J.A. Dain
{"title":"A practical minimum distance method for syntax error handling","authors":"J.A. Dain","doi":"10.1016/0096-0551(94)90006-X","DOIUrl":"10.1016/0096-0551(94)90006-X","url":null,"abstract":"<div><p>We present a method for recovering from syntax errors encountered during parsing. The method provides a form of minimum distance repair, has linear time complexity, and is completely automatic. A formal method is presented for evaluating the performance of error recovery methods, based on global minimum-distance error correction. The minimum-distance error recovery method achieves a theoretically best performance on 80% of Pascal programs in the weighted Ripley-Druseikis collection. Comparisons of performance with other error recovery methods are given.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"20 4","pages":"Pages 239-252"},"PeriodicalIF":0.0,"publicationDate":"1994-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(94)90006-X","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84077019","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}
引用次数: 7
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信