首页 > 最新文献

Proceedings of the AdaTEC Conference on Ada最新文献

英文 中文
Rendezvous with ADA: a proof theoretical view 与ADA会合:证明理论观点
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304152
A. Pnueli, W. D. Roever
A fragment of ADA abstracting the communication and synchronization part is studied. An operational semantics for this fragment is given, emphasizing the justice and fairness aspects of the selection mechanisms. An appropriate notion of fairness is shown to be equivalent to the explicit entry-queues proposed in the reference manual. Proof rules for invariance and liveness properties are given and illustrated on an example. The proof rules are based on temporal logic.
研究了一种抽象了通信和同步部分的ADA模块。给出了该片段的操作语义,强调了选择机制的正义和公平方面。一个适当的公平概念等价于参考手册中提出的显式入口队列。给出了不变性和活动性的证明规则,并举例说明。证明规则是基于时间逻辑的。
{"title":"Rendezvous with ADA: a proof theoretical view","authors":"A. Pnueli, W. D. Roever","doi":"10.1145/3304133.3304152","DOIUrl":"https://doi.org/10.1145/3304133.3304152","url":null,"abstract":"A fragment of ADA abstracting the communication and synchronization part is studied. An operational semantics for this fragment is given, emphasizing the justice and fairness aspects of the selection mechanisms. An appropriate notion of fairness is shown to be equivalent to the explicit entry-queues proposed in the reference manual. Proof rules for invariance and liveness properties are given and illustrated on an example. The proof rules are based on temporal logic.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"16 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":"127791781","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}
引用次数: 24
An Ada virtual operating system Ada虚拟操作系统
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304165
Stephen B. Whitehill
A new operating system interface based on the langauge Ada is described: the Ada Virtual Operating System (AVOS). Its goal is to provide a completely uniform user interface. All operating system commands and programs are expressed in Ada, and Ada is shown to provide sufficient expressive power to allow conventional operating system entities such as files and directories to be expressed in Ada terms.
介绍了一种基于Ada语言的新型操作系统接口:Ada虚拟操作系统(AVOS)。它的目标是提供一个完全统一的用户界面。所有操作系统命令和程序都用Ada表示,Ada提供了足够的表达能力,允许用Ada术语表示传统的操作系统实体(如文件和目录)。
{"title":"An Ada virtual operating system","authors":"Stephen B. Whitehill","doi":"10.1145/3304133.3304165","DOIUrl":"https://doi.org/10.1145/3304133.3304165","url":null,"abstract":"A new operating system interface based on the langauge Ada is described: the Ada Virtual Operating System (AVOS). Its goal is to provide a completely uniform user interface. All operating system commands and programs are expressed in Ada, and Ada is shown to provide sufficient expressive power to allow conventional operating system entities such as files and directories to be expressed in Ada terms.","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":"127959607","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
Session details: Operating system issues 会话细节:操作系统问题
Pub Date : 1982-10-06 DOI: 10.1145/3306122
D. Lamb
{"title":"Session details: Operating system issues","authors":"D. Lamb","doi":"10.1145/3306122","DOIUrl":"https://doi.org/10.1145/3306122","url":null,"abstract":"","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"1147 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":"128071784","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
Abstract syntax based programming environments 基于抽象语法的编程环境
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304160
D. B. Leblang
A program development environment based on a high-level semantic representation of programs rather than a textual representation was investigated. Several programming languages are supported through the use of language parameterized tools. These tools are knowledgeable about each language in the environment; the tools are driven by a set of language dependent tables. Each programming language is described using a formal notation known as an annotated abstract syntax description. The description includes information about the structure of program trees for the language, the semantics of the various node types in the language, and prettyprinting rules for the language. A meta-tool was developed which translates the annotated abstract syntax (AAS) description into compact tables that can be used efficiently by language parameterized tools. The primary tool built was a language parameterized structure editor, driven by language dependent tables. The editor was parameterized into an Ada structure editor using an abstract syntax description for Ada, and tables produced by the AAS translator. The ability to parameterize the structure editor to additional languages was demonstrated by building a Pascal structure editor. It took two (summer student) days to write a complete Pascal abstract syntax description and bring up a fully functional Pascal editor. In addition to being language parameterized, the structure editor supports top-down development, it lets the user view the program at various levels of detail, and it provides interactive language consulting.
研究了一种基于程序的高级语义表示而非文本表示的程序开发环境。通过使用语言参数化工具支持多种编程语言。这些工具了解环境中的每种语言;这些工具由一组与语言相关的表驱动。每种编程语言都使用一种称为带注释的抽象语法描述的形式化符号来描述。该描述包括有关该语言的程序树结构、该语言中各种节点类型的语义以及该语言的漂亮打印规则的信息。开发了一种元工具,可以将注释抽象语法(AAS)描述转换为紧凑的表,以便语言参数化工具有效地使用。构建的主要工具是由语言相关表驱动的语言参数化结构编辑器。使用Ada的抽象语法描述和AAS转换器生成的表,将编辑器参数化为Ada结构编辑器。通过构建Pascal结构编辑器,演示了将结构编辑器参数化为其他语言的能力。写一个完整的Pascal抽象语法描述和一个功能齐全的Pascal编辑器花了两天时间(暑期学生)。除了语言参数化之外,结构编辑器还支持自顶向下的开发,它允许用户在各个细节级别查看程序,并提供交互式语言咨询。
{"title":"Abstract syntax based programming environments","authors":"D. B. Leblang","doi":"10.1145/3304133.3304160","DOIUrl":"https://doi.org/10.1145/3304133.3304160","url":null,"abstract":"A program development environment based on a high-level semantic representation of programs rather than a textual representation was investigated. Several programming languages are supported through the use of language parameterized tools. These tools are knowledgeable about each language in the environment; the tools are driven by a set of language dependent tables. Each programming language is described using a formal notation known as an annotated abstract syntax description. The description includes information about the structure of program trees for the language, the semantics of the various node types in the language, and prettyprinting rules for the language. A meta-tool was developed which translates the annotated abstract syntax (AAS) description into compact tables that can be used efficiently by language parameterized tools. The primary tool built was a language parameterized structure editor, driven by language dependent tables. The editor was parameterized into an Ada structure editor using an abstract syntax description for Ada, and tables produced by the AAS translator. The ability to parameterize the structure editor to additional languages was demonstrated by building a Pascal structure editor. It took two (summer student) days to write a complete Pascal abstract syntax description and bring up a fully functional Pascal editor. In addition to being language parameterized, the structure editor supports top-down development, it lets the user view the program at various levels of detail, and it provides interactive language consulting.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"37 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":"115833160","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
Session details: Education 会议详情:教育
Pub Date : 1982-10-06 DOI: 10.1145/3306117
P. Wegner
{"title":"Session details: Education","authors":"P. Wegner","doi":"10.1145/3306117","DOIUrl":"https://doi.org/10.1145/3306117","url":null,"abstract":"","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"77 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":"126227102","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: Compiler front ends 会话细节:编译器前端
Pub Date : 1982-10-06 DOI: 10.1145/3306118
W. Whitaker
{"title":"Session details: Compiler front ends","authors":"W. Whitaker","doi":"10.1145/3306118","DOIUrl":"https://doi.org/10.1145/3306118","url":null,"abstract":"","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"11 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":"126857835","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
Adabase: a data base for Ada programs 数据库:Ada程序的数据库
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304141
W. Tichy
A central part of any programming support environment is the data base that stores all project information. This paper presents the design of Adabase, a data base that manages Ada program families. Program families consist of multiple versions and configurations, and family members share a significant number of common parts. Besides Ada program modules and configurations, Adabase stores documentation and project control information. A set of high-level operations perform controlled update, propagation of interface changes, and automatic system generation. The logical data base structure is an attributed, directed graph. Since the standard, intermediate representation of Ada programs, Diana, is also an attributed, directed graph, we achieve a seamless integration of the two by formulating Ada-base in IDL, the metalanguage in which Diana is described.
任何编程支持环境的中心部分都是存储所有项目信息的数据库。本文介绍了一个管理Ada程序族的数据库Adabase的设计。程序族由多个版本和配置组成,并且程序族成员共享大量的公共部分。除了Ada程序模块和配置,Adabase还存储文档和项目控制信息。一组高级操作执行受控制的更新、接口更改的传播和自动系统生成。逻辑数据库结构是一个有属性的有向图。由于Ada程序的标准中间表示形式Diana也是一个有属性的有向图,因此我们通过在IDL(描述Diana的元语言)中制定Ada数据库来实现两者的无缝集成。
{"title":"Adabase: a data base for Ada programs","authors":"W. Tichy","doi":"10.1145/3304133.3304141","DOIUrl":"https://doi.org/10.1145/3304133.3304141","url":null,"abstract":"A central part of any programming support environment is the data base that stores all project information. This paper presents the design of Adabase, a data base that manages Ada program families. Program families consist of multiple versions and configurations, and family members share a significant number of common parts. Besides Ada program modules and configurations, Adabase stores documentation and project control information. A set of high-level operations perform controlled update, propagation of interface changes, and automatic system generation. The logical data base structure is an attributed, directed graph. Since the standard, intermediate representation of Ada programs, Diana, is also an attributed, directed graph, we achieve a seamless integration of the two by formulating Ada-base in IDL, the metalanguage in which Diana is described.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"38 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1982-10-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120923240","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
Implementation strategies for Ada tasking idioms Ada任务习语的实现策略
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304137
P. Hilfinger
This paper considers certain uses of Ada tasking---tasking idioms---that do not require the full generality of the mechanism. It describes implementation techniques for these idioms that reduce the required storage and time overheads on many operating systems. The intent is to allow programmers to use these idioms freely, without having to circumvent the tasking features of Ada in order to gain required performance.
本文考虑了Ada任务的某些用法——任务习惯用法——它们不需要机制的全部通用性。它描述了这些习惯用法的实现技术,这些习惯用法可以减少许多操作系统上所需的存储和时间开销。其目的是允许程序员自由地使用这些习惯用法,而不必为了获得所需的性能而绕过Ada的任务特性。
{"title":"Implementation strategies for Ada tasking idioms","authors":"P. Hilfinger","doi":"10.1145/3304133.3304137","DOIUrl":"https://doi.org/10.1145/3304133.3304137","url":null,"abstract":"This paper considers certain uses of Ada tasking---tasking idioms---that do not require the full generality of the mechanism. It describes implementation techniques for these idioms that reduce the required storage and time overheads on many operating systems. The intent is to allow programmers to use these idioms freely, without having to circumvent the tasking features of Ada in order to gain required performance.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"25 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":"128972897","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}
引用次数: 35
Diana as an internal representation in an Ada-in-Ada compiler Diana作为Ada-in-Ada编译器中的内部表示
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304168
S. Taft
We are implementing an Ada compiler, written in Ada, using the Diana intermediate notation. Before proceeding with the compiler, we had to decide on the detailed implementation of Diana. This paper discusses our design decisions in two important areas: the partitioning and representation of Diana node types using Ada variant records types, and the implementation of separate compilation using a software virtual memory technique. We have found these approaches both simplify the construction of a reliable and efficient compiler, and support the goals of an integrated Ada programming support environment.
我们正在实现一个用Ada编写的Ada编译器,使用Diana中间符号。在继续编译器之前,我们必须决定Diana的详细实现。本文讨论了我们在两个重要领域的设计决策:使用Ada变体记录类型对Diana节点类型进行分区和表示,以及使用软件虚拟内存技术实现单独编译。我们发现这些方法既简化了可靠高效编译器的构造,又支持集成Ada编程支持环境的目标。
{"title":"Diana as an internal representation in an Ada-in-Ada compiler","authors":"S. Taft","doi":"10.1145/3304133.3304168","DOIUrl":"https://doi.org/10.1145/3304133.3304168","url":null,"abstract":"We are implementing an Ada compiler, written in Ada, using the Diana intermediate notation. Before proceeding with the compiler, we had to decide on the detailed implementation of Diana. This paper discusses our design decisions in two important areas: the partitioning and representation of Diana node types using Ada variant records types, and the implementation of separate compilation using a software virtual memory technique. We have found these approaches both simplify the construction of a reliable and efficient compiler, and support the goals of an integrated Ada programming support environment.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"22 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":"122042739","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
Portable Ada programming system: a proposed run-time architecture 可移植Ada编程系统:一个建议的运行时体系结构
Pub Date : 1982-10-06 DOI: 10.1145/3304133.3304140
A. Fantechi, F. Gallo
This paper presents some of the results that were achieved during the first phase of the Portable Ada Programming System (PAPS) project, actually under development by an European consortium comprising Christian Rovsing (Denmark), Dansk Datamatik Center (Denmark) and Olivetti (Italy). The focus of the document is on the runtime organisation of the system, particularly about the interrelationships among (M)APSE programs, the KAPSE and the Ada run-time support.
本文介绍了便携式Ada编程系统(PAPS)项目第一阶段取得的一些成果,该项目实际上是由Christian Rovsing(丹麦)、Dansk Datamatik Center(丹麦)和Olivetti(意大利)组成的欧洲联盟开发的。该文档的重点是系统的运行时组织,特别是关于(M)APSE程序,KAPSE和Ada运行时支持之间的相互关系。
{"title":"Portable Ada programming system: a proposed run-time architecture","authors":"A. Fantechi, F. Gallo","doi":"10.1145/3304133.3304140","DOIUrl":"https://doi.org/10.1145/3304133.3304140","url":null,"abstract":"This paper presents some of the results that were achieved during the first phase of the Portable Ada Programming System (PAPS) project, actually under development by an European consortium comprising Christian Rovsing (Denmark), Dansk Datamatik Center (Denmark) and Olivetti (Italy). The focus of the document is on the runtime organisation of the system, particularly about the interrelationships among (M)APSE programs, the KAPSE and the Ada run-time support.","PeriodicalId":304626,"journal":{"name":"Proceedings of the AdaTEC Conference on Ada","volume":"122 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":"129485000","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