首页 > 最新文献

Computer Languages最新文献

英文 中文
Branching-time logic programming: the language Cactus and its applications 分支时间逻辑程序设计:Cactus语言及其应用
Pub Date : 1998-10-01 DOI: 10.1016/S0096-0551(98)00009-5
P. Rondogiannis , M. Gergatsoulis , T. Panayiotopoulos

Temporal programming languages provide a powerful means for the description and implementation of dynamic systems. However, most temporal languages are based on linear time, a fact that renders them unsuitable for certain types of applications (such as expressing properties of non-deterministic programs). In this paper we introduce the new temporal logic programming language Cactus, which is based on a branching notion of time. In Cactus, the truth value of a predicate depends on a hidden time parameter which varies over a tree-like structure. As a result, Cactus can be used to express in a natural way non-deterministic computations or generally algorithms that involve the manipulation of tree data structures. Moreover, Cactus appears to be appropriate as the target language for compilers or program transformers. Cactus programs can be executed using BSLD-resolution, a proof procedure based on the notion of canonical temporal atoms/clauses.

时态编程语言为动态系统的描述和实现提供了强大的手段。然而,大多数时态语言都是基于线性时间的,这使得它们不适合某些类型的应用程序(例如表示非确定性程序的属性)。本文介绍了一种基于时间分支概念的时间逻辑编程语言Cactus。在Cactus中,谓词的真值依赖于一个隐藏的时间参数,该参数在树状结构中变化。因此,Cactus可用于以自然的方式表达非确定性计算或涉及树形数据结构操作的一般算法。此外,Cactus似乎适合作为编译器或程序转换器的目标语言。Cactus程序可以使用BSLD-resolution来执行,BSLD-resolution是一种基于规范时间原子/子句概念的证明过程。
{"title":"Branching-time logic programming: the language Cactus and its applications","authors":"P. Rondogiannis ,&nbsp;M. Gergatsoulis ,&nbsp;T. Panayiotopoulos","doi":"10.1016/S0096-0551(98)00009-5","DOIUrl":"10.1016/S0096-0551(98)00009-5","url":null,"abstract":"<div><p>Temporal programming languages provide a powerful means for the description and implementation of dynamic systems. However, most temporal languages are based on linear time, a fact that renders them unsuitable for certain types of applications (such as expressing properties of non-deterministic programs). In this paper we introduce the new temporal logic programming language <strong>Cactus</strong>, which is based on a branching notion of time. In Cactus, the truth value of a predicate depends on a hidden time parameter which varies over a tree-like structure. As a result, Cactus can be used to express in a natural way non-deterministic computations or generally algorithms that involve the manipulation of tree data structures. Moreover, Cactus appears to be appropriate as the target language for compilers or program transformers. Cactus programs can be executed using BSLD-resolution, a proof procedure based on the notion of canonical temporal atoms/clauses.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"24 3","pages":"Pages 155-178"},"PeriodicalIF":0.0,"publicationDate":"1998-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(98)00009-5","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77413442","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
Evaluating inlining techniques 评价内联技术
Pub Date : 1998-07-01 DOI: 10.1016/S0096-0551(98)00003-4
Owen Kaser , C.R. Ramakrishnan

For efficiency and ease of implementation, many compilers implicitly impose an “inlining policy” to restrict the conditions under which a procedure may be inlined. An inlining technique consists of an inlining policy and a strategy for choosing a sequence of inlining operations that is consistent with the policy. The effectiveness of an inlining technique is affected by the restrictiveness of the inlining policy as well as the effectiveness of the (heuristic) inlining strategy. The focus of this paper is on the comparison of inlining policies and techniques, and the notions of power and flexibility are introduced. As a major case study, we identify and compare policies based on the version of the inlined procedure that is used.

为了提高效率和易于实现,许多编译器隐式地施加“内联策略”来限制过程可以内联的条件。内联技术由内联策略和选择与策略一致的内联操作序列的策略组成。内联技术的有效性受到内联策略的限制性和(启发式)内联策略的有效性的影响。本文的重点是内联策略和技术的比较,并介绍了权力和灵活性的概念。作为一个主要的案例研究,我们根据所使用的内联过程的版本来识别和比较策略。
{"title":"Evaluating inlining techniques","authors":"Owen Kaser ,&nbsp;C.R. Ramakrishnan","doi":"10.1016/S0096-0551(98)00003-4","DOIUrl":"10.1016/S0096-0551(98)00003-4","url":null,"abstract":"<div><p>For efficiency and ease of implementation, many compilers implicitly impose an “inlining policy” to restrict the conditions under which a procedure may be inlined. An inlining <em>technique</em> consists of an inlining policy and a <em>strategy</em> for choosing a sequence of inlining operations that is consistent with the policy. The effectiveness of an inlining technique is affected by the restrictiveness of the inlining policy as well as the effectiveness of the (heuristic) inlining strategy. The focus of this paper is on the comparison of inlining policies and techniques, and the notions of <em>power</em> and <em>flexibility</em> are introduced. As a major case study, we identify and compare policies based on the <em>version</em> of the inlined procedure that is used.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"24 2","pages":"Pages 55-72"},"PeriodicalIF":0.0,"publicationDate":"1998-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(98)00003-4","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83379004","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}
引用次数: 31
Formal semantics of visual occam 视觉occam的形式语义
Pub Date : 1998-07-01 DOI: 10.1016/S0096-0551(98)00005-8
Muhammed Al-Mulhem , Shahid Ali

Visual programming languages (VPLs) have been proposed to simplify the task of programming and to make better use of human capabilities. Visual Occam (VISO) is a visual programming language for concurrent programming. It uses message passing for interprocess communication and processes are disjoint. The VISO language uses a modular approach to visual programming which simplifies the specification of programs. It has a graphical syntax based the language occam. The main emphasis in this paper is to provide formal semantics of VISO using process calculus. The semantics of all programming constructs and icons in VISO are given as well as a number of complete example programs and their translation in process calculus.

人们提出可视化编程语言(vpl)是为了简化编程任务并更好地利用人的能力。Visual Occam (VISO)是一种用于并发编程的可视化编程语言。它使用消息传递进行进程间通信,并且进程是不相交的。VISO语言使用模块化方法进行可视化编程,简化了程序规范。它具有基于occam语言的图形语法。本文的重点是利用过程演算提供VISO的形式化语义。给出了VISO中所有编程结构和图标的语义,以及一些完整的示例程序及其在过程演算中的翻译。
{"title":"Formal semantics of visual occam","authors":"Muhammed Al-Mulhem ,&nbsp;Shahid Ali","doi":"10.1016/S0096-0551(98)00005-8","DOIUrl":"10.1016/S0096-0551(98)00005-8","url":null,"abstract":"<div><p>Visual programming languages (VPLs) have been proposed to simplify the task of programming and to make better use of human capabilities. Visual Occam (VISO) is a visual programming language for concurrent programming. It uses message passing for interprocess communication and processes are disjoint. The VISO language uses a modular approach to visual programming which simplifies the specification of programs. It has a graphical syntax based the language occam. The main emphasis in this paper is to provide formal semantics of VISO using process calculus. The semantics of all programming constructs and icons in VISO are given as well as a number of complete example programs and their translation in process calculus.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"24 2","pages":"Pages 99-113"},"PeriodicalIF":0.0,"publicationDate":"1998-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(98)00005-8","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72534316","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
LR techniques for handling syntax errors 处理语法错误的LR技术
Pub Date : 1998-07-01 DOI: 10.1016/S0096-0551(97)00016-7
Pierpaolo Degano , Corrado Priami

A taxonomy of syntax error handling techniques used in LR parsers is presented. The methods are classified according to the major features they offer. In particular, we distinguish correcting and noncorrecting techniques. The goal of the former methods is to correct an error when detected and to restart the parser. Instead, noncorrecting techniques simply signal the presence of an error and continue the analysis without attempting any correction on the source program. A finer classification of correcting approaches is given according the amount of information that is gathered around the error by the recovery routine. We distinguish phrase level, global and local techniques. Also interactive methods are considered. We report an evaluation of some techniques based on quality of the corrections, language independence, flexibility and efficiency. Finally, a glossary of technical terms is also provided.

介绍了在LR解析器中使用的语法错误处理技术的分类。这些方法根据它们提供的主要特性进行分类。我们特别区分了纠错和非纠错技术。前两种方法的目标是在检测到错误时纠正错误并重新启动解析器。相反,非校正技术只是发出错误存在的信号,然后继续分析,而不尝试对源程序进行任何校正。根据恢复例程在错误周围收集的信息量,给出了纠正方法的更精细的分类。我们区分短语级、全局和局部技术。还考虑了交互方法。我们报告了基于纠正质量,语言独立性,灵活性和效率的一些技术的评估。最后,还提供了一个专业术语表。
{"title":"LR techniques for handling syntax errors","authors":"Pierpaolo Degano ,&nbsp;Corrado Priami","doi":"10.1016/S0096-0551(97)00016-7","DOIUrl":"10.1016/S0096-0551(97)00016-7","url":null,"abstract":"<div><p>A taxonomy of syntax error handling techniques used in LR parsers is presented. The methods are classified according to the major features they offer. In particular, we distinguish correcting and noncorrecting techniques. The goal of the former methods is to correct an error when detected and to restart the parser. Instead, noncorrecting techniques simply signal the presence of an error and continue the analysis without attempting any correction on the source program. A finer classification of correcting approaches is given according the amount of information that is gathered around the error by the recovery routine. We distinguish phrase level, global and local techniques. Also interactive methods are considered. We report an evaluation of some techniques based on quality of the corrections, language independence, flexibility and efficiency. Finally, a glossary of technical terms is also provided.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"24 2","pages":"Pages 73-98"},"PeriodicalIF":0.0,"publicationDate":"1998-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(97)00016-7","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79586609","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
Index 指数
Pub Date : 1998-07-01 DOI: 10.1016/S0096-0551(98)00006-X
{"title":"Index","authors":"","doi":"10.1016/S0096-0551(98)00006-X","DOIUrl":"https://doi.org/10.1016/S0096-0551(98)00006-X","url":null,"abstract":"","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"24 2","pages":"Pages 115-118"},"PeriodicalIF":0.0,"publicationDate":"1998-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(98)00006-X","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"92003847","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
Scheduling expression DAGs for minimal register need 调度表达式dag以实现最小的寄存器需求
Pub Date : 1998-04-01 DOI: 10.1016/S0096-0551(98)00002-2
Christoph W. Kessler1

Generating schedules for expression DAGs that use a minimal number of registers is a classical NP-complete optimization problem. Up to now an exact solution could only be computed for small DAGs (with up to 20 nodes), using a trivial O(n!) enumeration algorithm. We present a new algorithm with worst-case complexity O(n22n) and very good average behavior. Applying a dynamic programming scheme and reordering techniques, our algorithm is able to defer the combinatorial explosion and to generate an optimal schedule not only for small DAGs but also for medium-sized ones with up to 50 nodes, a class that contains nearly all DAGs encountered in typical application programs. Experiments with randomly generated DAGs and large DAGs from real application programs confirm that the new algorithm generates optimal schedules quite fast. We extend our algorithm to cope with delay slots and multiple functional units, two common features of modern superscalar processors.

为使用最少寄存器数的表达式dag生成调度是一个经典的np完全优化问题。到目前为止,只能使用简单的O(n!)枚举算法计算小型dag(最多有20个节点)的精确解。提出了一种最坏情况复杂度为0 (n22n)且具有良好平均性能的新算法。该算法采用动态规划方案和重排序技术,不仅能够延迟组合爆炸,而且能够对包含典型应用程序中遇到的几乎所有dag的50个节点的中型dag生成最优调度。在实际应用程序中对随机生成的dag和大型dag进行了实验,结果表明该算法可以快速生成最优调度。我们扩展了我们的算法来处理延迟槽和多个功能单元,这是现代超标量处理器的两个共同特征。
{"title":"Scheduling expression DAGs for minimal register need","authors":"Christoph W. Kessler1","doi":"10.1016/S0096-0551(98)00002-2","DOIUrl":"10.1016/S0096-0551(98)00002-2","url":null,"abstract":"<div><p>Generating schedules for expression DAGs that use a minimal number of registers is a classical NP-complete optimization problem. Up to now an exact solution could only be computed for small DAGs (with up to 20 nodes), using a trivial <em>O</em>(<em>n</em>!) enumeration algorithm. We present a new algorithm with worst-case complexity <em>O</em>(<em>n</em>2<sup>2<em>n</em></sup>) and very good average behavior. Applying a dynamic programming scheme and reordering techniques, our algorithm is able to defer the combinatorial explosion and to generate an <em>optimal</em> schedule not only for small DAGs but also for medium-sized ones with up to 50 nodes, a class that contains nearly all DAGs encountered in typical application programs. Experiments with randomly generated DAGs and large DAGs from real application programs confirm that the new algorithm generates optimal schedules quite fast. We extend our algorithm to cope with delay slots and multiple functional units, two common features of modern superscalar processors.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"24 1","pages":"Pages 33-53"},"PeriodicalIF":0.0,"publicationDate":"1998-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(98)00002-2","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90284856","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
SequenceL provides a different way to view programming SequenceL提供了一种不同的方式来查看编程
Pub Date : 1998-04-01 DOI: 10.1016/S0096-0551(97)00007-6
Daniel E. Cooke

SequenceL is a new computer language that provides declarative constructs for nonscalar processing. In SequenceL, a problem solver provides little in the way of iterative/recursive details in a problem solution. Instead, the problem solver describes the solution directly by specifying, via a metastructure, the data structures which will hold results useful in solving the problem. SequenceL is a small language (i.e., there are a small number of language constructs), and it is not domain dependent. This paper serves as a comprehensive introduction to SequenceL, which includes new results and language features.

SequenceL是一种新的计算机语言,它为非标量处理提供了声明性结构。在SequenceL中,问题解决器在问题解决方案中提供的迭代/递归细节很少。相反,问题解决者直接描述解决方案,通过元结构指定将包含解决问题有用结果的数据结构。SequenceL是一种小型语言(也就是说,只有少量的语言结构),它不依赖于领域。本文是对SequenceL的全面介绍,包括新的结果和语言特性。
{"title":"SequenceL provides a different way to view programming","authors":"Daniel E. Cooke","doi":"10.1016/S0096-0551(97)00007-6","DOIUrl":"10.1016/S0096-0551(97)00007-6","url":null,"abstract":"<div><p><em>SequenceL</em> is a new computer language that provides declarative constructs for nonscalar processing. In <em>SequenceL</em>, a problem solver provides little in the way of iterative/recursive details in a problem solution. Instead, the problem solver describes the solution directly by specifying, via a metastructure, the data structures which will hold results useful in solving the problem. <em>SequenceL</em> is a small language (i.e., there are a small number of language constructs), and it is not domain dependent. This paper serves as a comprehensive introduction to <em>SequenceL</em>, which includes new results and language features.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"24 1","pages":"Pages 1-32"},"PeriodicalIF":0.0,"publicationDate":"1998-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(97)00007-6","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85252205","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
Contents of volume 23 第23卷内容
Pub Date : 1997-07-01 DOI: 10.1016/S0096-0551(97)87956-8
{"title":"Contents of volume 23","authors":"","doi":"10.1016/S0096-0551(97)87956-8","DOIUrl":"https://doi.org/10.1016/S0096-0551(97)87956-8","url":null,"abstract":"","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"23 2","pages":"Page I"},"PeriodicalIF":0.0,"publicationDate":"1997-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(97)87956-8","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138202827","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
Author indexvolume 23 作者索引第23卷
Pub Date : 1997-07-01 DOI: 10.1016/S0096-0551(97)87957-X
{"title":"Author indexvolume 23","authors":"","doi":"10.1016/S0096-0551(97)87957-X","DOIUrl":"https://doi.org/10.1016/S0096-0551(97)87957-X","url":null,"abstract":"","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"23 2","pages":"Page II"},"PeriodicalIF":0.0,"publicationDate":"1997-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(97)87957-X","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138202828","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
Program separation and definitional higher order programming 程序分离与定义高阶编程
Pub Date : 1997-07-01 DOI: 10.1016/S0096-0551(97)00014-3
G. Falkman

We describe a program separation scheme based on the notions of form and content of an algorithm. The content of an algorithm consists of all local operations needed to compute the algorithm on the basis of a given definition. Separating an algorithm can thus be described as the process of finding definitions such that the algorithm is locally definable. The form of the algorithm then gives the global structure of the algorithm.

The scheme is given in a definitional context, and we show how this type of program separation can be used as a basis for definitional higher order programming.

我们描述了一种基于算法形式和内容概念的程序分离方案。算法的内容由基于给定定义计算算法所需的所有局部操作组成。因此,分离算法可以被描述为寻找定义的过程,使得算法是局部可定义的。算法的形式给出了算法的整体结构。该方案是在一个定义的上下文中给出的,我们展示了这种类型的程序分离如何被用作定义高阶规划的基础。
{"title":"Program separation and definitional higher order programming","authors":"G. Falkman","doi":"10.1016/S0096-0551(97)00014-3","DOIUrl":"10.1016/S0096-0551(97)00014-3","url":null,"abstract":"<div><p>We describe a program separation scheme based on the notions of form and content of an algorithm. The content of an algorithm consists of all local operations needed to compute the algorithm on the basis of a given definition. Separating an algorithm can thus be described as the process of finding definitions such that the algorithm is locally definable. The form of the algorithm then gives the global structure of the algorithm.</p><p>The scheme is given in a definitional context, and we show how this type of program separation can be used as a basis for definitional higher order programming.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"23 2","pages":"Pages 179-206"},"PeriodicalIF":0.0,"publicationDate":"1997-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(97)00014-3","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85372696","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
期刊
Computer Languages
全部 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