首页 > 最新文献

Proceedings of the AdaTEC Conference on Ada最新文献

英文 中文
The als Ada compiler front end architecture als Ada编译器前端架构
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304147
Richard Simpson
This paper describes the architecture of the Ada Language System (ALS) Ada compiler front end. It examines the motivation for the architecture chosen and how this architecture has affected the implementation. The paper also examines the use of the intermediate language Diana, how Diana has affected the architecture, and issues that were encountered using Diana. Finally, the paper looks at how the upgrade to Ada '82 will be handled in the ALS compiler front end.
本文介绍了Ada语言系统(ALS) Ada编译器前端的体系结构。它检查了所选择的体系结构的动机,以及该体系结构如何影响实现。本文还研究了中间语言Diana的使用,Diana是如何影响体系结构的,以及在使用Diana时遇到的问题。最后,本文着眼于如何在ALS编译器前端处理Ada '82的升级。
{"title":"The als Ada compiler front end architecture","authors":"Richard Simpson","doi":"10.1145/3304133.3304147","DOIUrl":"https://doi.org/10.1145/3304133.3304147","url":null,"abstract":"This paper describes the architecture of the Ada Language System (ALS) Ada compiler front end. It examines the motivation for the architecture chosen and how this architecture has affected the implementation. The paper also examines the use of the intermediate language Diana, how Diana has affected the architecture, and issues that were encountered using Diana. Finally, the paper looks at how the upgrade to Ada '82 will be handled in the ALS compiler front end.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"71 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122013547","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
Ada design language for the structured design methodology Ada设计语言为结构化设计方法论
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304144
Dr. J. P. Privitera
It is shown how Ada can be used to good advantage as a design language in conjunction with the structured analysis and design methodology.
它展示了如何将Ada作为一种设计语言与结构化分析和设计方法相结合,发挥良好的优势。
{"title":"Ada design language for the structured design methodology","authors":"Dr. J. P. Privitera","doi":"10.1145/3304133.3304144","DOIUrl":"https://doi.org/10.1145/3304133.3304144","url":null,"abstract":"It is shown how Ada can be used to good advantage as a design language in conjunction with the structured analysis and design methodology.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116664077","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
Design and implementation in Ada of a runtime task supervisor 在Ada中设计和实现一个运行时任务管理器
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304135
Ed Falis
A runtime supervisor is an Ada package in the standard environment which provides a scheduling interface between a compiled tasking program and the virtual machine upon which it is to execute. Its visible operations implement the more complex aspects of the tasking dynamic semantics. These operations are very high level in the sense that they conform closely to Ada tasking constructs. Internal to the supervisor is a small kernel of machine dependent code providing the actual interface to the target virtual machine. Given this kind of runtime environment, the compiled code of a tasking program is equivalent to the code generated by a compilation of sequential Ada constructs with embedded calls to the supervisor visible operations. All parallelism is abstracted out of the program prior to the code generation phase of the compilation, and the implementation of the parallel constructs of the Ada language is shifted into the runtime supervisor package. While the form of the sequential Ada code implementing tasking constructs will depend on design decisions made by the implementors of specific compilers as in [3] and [5], a carefully designed supervisor will be compatible with the code generated by any Ada compiler calling that supervisor's visible operations in the specified manner. The benefits of this approach, which was originally adopted for the design of the experimental Adam compiler [4], are apparent. Target machine dependent aspects of scheduling, and details of scheduling strategies are separated from compilation. The code generation phase of the Ada compiler is greatly simplified by factoring out all tasking related routines. Compiler builders need not reimplement all of tasking for each new compiler or intended target machine. In addition, experimental and special purpose supervisors will gain wider distribution and evaluation due the portability inherent in this approach. In this paper we analyze the feasibility of implementing a runtime supervisor in Ada, pointing out those areas in which the Ada language is weak for this purpose. We then derive a standard supervisor interface on the basis of a (hopefully) minimal set of facilities to be provided by any supervisor. In this derivation, we consider in detail both what must be provided if a supervisor is to implement the full tasking semantics, and also in what ways we can minimize constraints on compiler builders who plan to use the interface.
运行时管理器是标准环境中的Ada包,它在编译后的任务程序和执行该程序的虚拟机之间提供调度接口。它的可见操作实现了任务动态语义更复杂的方面。这些操作在某种意义上是非常高级的,因为它们与Ada任务结构密切相关。管理器内部是一个小的机器相关代码内核,它提供了到目标虚拟机的实际接口。在这种运行时环境下,一个任务程序的编译代码相当于一个序列Ada构造的编译所生成的代码,其中嵌入了对监督可见操作的调用。在编译的代码生成阶段之前,所有的并行性都从程序中抽象出来,并且Ada语言的并行构造的实现被转移到运行时监督程序包中。虽然实现任务构造的顺序Ada代码的形式将取决于特定编译器的实现者所做的设计决策,如[3]和[5]所示,精心设计的监督程序将与任何Ada编译器以指定方式调用该监督程序的可见操作生成的代码兼容。这种方法的好处是显而易见的,它最初被用于实验性Adam编译器的设计[4]。目标机相关方面的调度,以及调度策略的细节与编译分离。通过分解所有与任务相关的例程,大大简化了Ada编译器的代码生成阶段。编译器构建器不需要为每个新的编译器或预期的目标机器重新实现所有的任务。此外,由于这种方法固有的可移植性,实验和特殊目的监督员将获得更广泛的分配和评估。在本文中,我们分析了在Ada中实现运行时监督器的可行性,指出了Ada语言在这方面的薄弱之处。然后,我们根据(希望)任何主管提供的最小设施集派生出标准的主管界面。在这个派生中,我们详细地考虑了如果监督器要实现完整的任务语义,必须提供什么,以及我们可以用什么方法最小化对计划使用该接口的编译器构建器的约束。
{"title":"Design and implementation in Ada of a runtime task supervisor","authors":"Ed Falis","doi":"10.1145/3304133.3304135","DOIUrl":"https://doi.org/10.1145/3304133.3304135","url":null,"abstract":"A runtime supervisor is an Ada package in the standard environment which provides a scheduling interface between a compiled tasking program and the virtual machine upon which it is to execute. Its visible operations implement the more complex aspects of the tasking dynamic semantics. These operations are very high level in the sense that they conform closely to Ada tasking constructs. Internal to the supervisor is a small kernel of machine dependent code providing the actual interface to the target virtual machine. Given this kind of runtime environment, the compiled code of a tasking program is equivalent to the code generated by a compilation of sequential Ada constructs with embedded calls to the supervisor visible operations. All parallelism is abstracted out of the program prior to the code generation phase of the compilation, and the implementation of the parallel constructs of the Ada language is shifted into the runtime supervisor package. While the form of the sequential Ada code implementing tasking constructs will depend on design decisions made by the implementors of specific compilers as in [3] and [5], a carefully designed supervisor will be compatible with the code generated by any Ada compiler calling that supervisor's visible operations in the specified manner. The benefits of this approach, which was originally adopted for the design of the experimental Adam compiler [4], are apparent. Target machine dependent aspects of scheduling, and details of scheduling strategies are separated from compilation. The code generation phase of the Ada compiler is greatly simplified by factoring out all tasking related routines. Compiler builders need not reimplement all of tasking for each new compiler or intended target machine. In addition, experimental and special purpose supervisors will gain wider distribution and evaluation due the portability inherent in this approach. In this paper we analyze the feasibility of implementing a runtime supervisor in Ada, pointing out those areas in which the Ada language is weak for this purpose. We then derive a standard supervisor interface on the basis of a (hopefully) minimal set of facilities to be provided by any supervisor. In this derivation, we consider in detail both what must be provided if a supervisor is to implement the full tasking semantics, and also in what ways we can minimize constraints on compiler builders who plan to use the interface.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"19 9","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114106365","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
An operational definition of intermediate code for implementing a portable Ada compiler 用于实现可移植Ada编译器的中间代码的可操作定义
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304169
B. Appelbe, Gary Dismukes
Intermediate codes are in widespread use for implementing modular, portable compilers. Such intermediate codes can also provide a tool for language and compiler standardization if a formal model of the intermediate code is available. This paper describes an abstract machine model for defining the semantics of an intermediate code developed for the TeleSoft-Ada2 compiler. The model, referred to as A0, is an abstract machine whose operations are used to define the Ada intermediate code. A0 includes a logical memory organization and task representation designed for Ada, together with operations to support KAPSE functions such as rendevous, exception handling, and interrupt handling. This approach enables production quality intermediate code translators to be standardized and maintained independently from the Ada source to intermediate code compiler.
中间代码广泛用于实现模块化、可移植的编译器。如果中间代码的正式模型可用,这种中间代码还可以为语言和编译器标准化提供工具。本文描述了一个抽象机器模型,用于定义为telsoft - ada2编译器开发的中间代码的语义。该模型称为A0,是一个抽象机器,其操作用于定义Ada中间代码。A0包括为Ada设计的逻辑内存组织和任务表示,以及支持KAPSE功能的操作,如并发、异常处理和中断处理。这种方法使生产质量的中间代码翻译器能够独立于Ada源代码到中间代码编译器进行标准化和维护。
{"title":"An operational definition of intermediate code for implementing a portable Ada compiler","authors":"B. Appelbe, Gary Dismukes","doi":"10.1145/3304133.3304169","DOIUrl":"https://doi.org/10.1145/3304133.3304169","url":null,"abstract":"Intermediate codes are in widespread use for implementing modular, portable compilers. Such intermediate codes can also provide a tool for language and compiler standardization if a formal model of the intermediate code is available. This paper describes an abstract machine model for defining the semantics of an intermediate code developed for the TeleSoft-Ada2 compiler. The model, referred to as A0, is an abstract machine whose operations are used to define the Ada intermediate code. A0 includes a logical memory organization and task representation designed for Ada, together with operations to support KAPSE functions such as rendevous, exception handling, and interrupt handling. This approach enables production quality intermediate code translators to be standardized and maintained independently from the Ada source to intermediate code compiler.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125571190","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}
引用次数: 1
Session details: Formalism 会议细节:形式主义
Pub Date : 1982-10-06 DOI: 10.1145/3306119
D. Luckham
{"title":"Session details: Formalism","authors":"D. Luckham","doi":"10.1145/3306119","DOIUrl":"https://doi.org/10.1145/3306119","url":null,"abstract":"","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122270162","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
Session details: Tasking and runtime systems 会话细节:任务和运行时系统
Pub Date : 1982-10-06 DOI: 10.1145/3305132
J. Knight
{"title":"Session details: Tasking and runtime systems","authors":"J. Knight","doi":"10.1145/3305132","DOIUrl":"https://doi.org/10.1145/3305132","url":null,"abstract":"","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123093458","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
Session details: Tools 会话详细信息:
Pub Date : 1982-10-06 DOI: 10.1145/3306121
D. Loveman
{"title":"Session details: Tools","authors":"D. Loveman","doi":"10.1145/3306121","DOIUrl":"https://doi.org/10.1145/3306121","url":null,"abstract":"","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115049231","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
Session details: Intermediate languages 会话详细信息:中间语言
Pub Date : 1982-10-06 DOI: 10.1145/3306123
Benjamin M. Brosgol
{"title":"Session details: Intermediate languages","authors":"Benjamin M. Brosgol","doi":"10.1145/3306123","DOIUrl":"https://doi.org/10.1145/3306123","url":null,"abstract":"","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132544439","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
Comparative efficiency of different implementations of the Ada rendezvous Ada集合的不同实现的比较效率
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304163
Anita K. Jones, A. Ardö
Reasonably efficient implementations of Ada task synchronization, in particular the rendezvous, will be crucial to the successful application of Ada. There are a variety of different implementations of rendezvous semantics, each with a different cost. In addition, some implementations can only be used under constrained circumstances. In the exercise reported here we have chosen a particular application of the rendezvous that we expect to occur frequently and we have programmed several alternative implementations for this use of the rendezvous. We have measured the performance of these implementations on the multiprocessor Cm* to ascertain actual costs of the various implementations on an existing multiple processor engine. Our measurements are reported here.
合理有效地实现Ada任务同步,特别是交会,对于Ada的成功应用至关重要。会合语义有各种不同的实现,每种实现都有不同的代价。此外,有些实现只能在受限的情况下使用。在这里报告的练习中,我们选择了一个我们期望经常发生的特定的交会应用,并为交会的这种使用编写了几个可选的实现。我们测量了这些实现在多处理器Cm*上的性能,以确定在现有多处理器引擎上各种实现的实际成本。我们的测量结果报告在这里。
{"title":"Comparative efficiency of different implementations of the Ada rendezvous","authors":"Anita K. Jones, A. Ardö","doi":"10.1145/3304133.3304163","DOIUrl":"https://doi.org/10.1145/3304133.3304163","url":null,"abstract":"Reasonably efficient implementations of Ada task synchronization, in particular the rendezvous, will be crucial to the successful application of Ada. There are a variety of different implementations of rendezvous semantics, each with a different cost. In addition, some implementations can only be used under constrained circumstances. In the exercise reported here we have chosen a particular application of the rendezvous that we expect to occur frequently and we have programmed several alternative implementations for this use of the rendezvous. We have measured the performance of these implementations on the multiprocessor Cm* to ascertain actual costs of the various implementations on an existing multiple processor engine. Our measurements are reported here.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115150898","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
The integration of existing database systems in an Ada environment 在Ada环境中集成现有数据库系统
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304156
M. Bever, Manfred Dausmann, S. Drossopoulou, Walter Kirchgässner, P. Lockemann, Guido Persch, G. Winterstein
In this paper we investigate the integration of application software systems into an Ada environment using the model given in the Stoneman requirements. We consider especially the aspect of making available the user functions of such systems to an APSE end user. We outline that within the Stoneman model this can only be achieved by integrating the application software system interfaces into the MAPSE level. We suppose that an application system can be described by an abstract data type: the package facility of Ada is used to realize such an abstract data type. The problems are discussed in detail by showing how to integrate an existing data base system.
在本文中,我们研究了使用Stoneman需求中给出的模型将应用软件系统集成到Ada环境中的问题。我们特别考虑让这些系统的用户功能对一个APSE终端用户可用的方面。我们概述了在Stoneman模型中,这只能通过将应用软件系统接口集成到MAPSE级别来实现。我们假设一个应用系统可以用一个抽象数据类型来描述:Ada的包功能被用来实现这样一个抽象数据类型。通过展示如何集成现有的数据库系统,详细讨论了这些问题。
{"title":"The integration of existing database systems in an Ada environment","authors":"M. Bever, Manfred Dausmann, S. Drossopoulou, Walter Kirchgässner, P. Lockemann, Guido Persch, G. Winterstein","doi":"10.1145/3304133.3304156","DOIUrl":"https://doi.org/10.1145/3304133.3304156","url":null,"abstract":"In this paper we investigate the integration of application software systems into an Ada environment using the model given in the Stoneman requirements. We consider especially the aspect of making available the user functions of such systems to an APSE end user. We outline that within the Stoneman model this can only be achieved by integrating the application software system interfaces into the MAPSE level. We suppose that an application system can be described by an abstract data type: the package facility of Ada is used to realize such an abstract data type. The problems are discussed in detail by showing how to integrate an existing data base system.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125866090","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}
引用次数: 1
期刊
Proceedings of the AdaTEC Conference on Ada
全部 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