{"title":"在软件再造中支持模块化解析","authors":"I. Peake, Eric J. Salzman","doi":"10.1109/STEP.1997.615464","DOIUrl":null,"url":null,"abstract":"As reengineering increasingly contributes to software engineering, so can software engineering principles contribute to cost-effective reengineering tool development. The cost of modelling languages motivates support for modular parsers which can, like program modules, be assembled cheaply from smaller, tested components. We describe a scheme which achieves this by extending the expressive and flexible combinator parsing scheme using object-oriented constructs (class inheritance and dynamic method dispatch). Related schemes either do not fully support code sharing or sacrifice flexibility. The scheme has been implemented in a prototype reengineering environment and successfully tested on grammars such as Modula-2. The generation time for extensions is linear in the size of the extension. The run-time performance is potentially as bad as for general parsing algorithms, but can be linear (10 times slower than LALR for Modula-2) after optimization.","PeriodicalId":68622,"journal":{"name":"软件","volume":"53 1","pages":"58-66"},"PeriodicalIF":0.0000,"publicationDate":"1997-07-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Support for modular parsing in software reengineering\",\"authors\":\"I. Peake, Eric J. Salzman\",\"doi\":\"10.1109/STEP.1997.615464\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"As reengineering increasingly contributes to software engineering, so can software engineering principles contribute to cost-effective reengineering tool development. The cost of modelling languages motivates support for modular parsers which can, like program modules, be assembled cheaply from smaller, tested components. We describe a scheme which achieves this by extending the expressive and flexible combinator parsing scheme using object-oriented constructs (class inheritance and dynamic method dispatch). Related schemes either do not fully support code sharing or sacrifice flexibility. The scheme has been implemented in a prototype reengineering environment and successfully tested on grammars such as Modula-2. The generation time for extensions is linear in the size of the extension. The run-time performance is potentially as bad as for general parsing algorithms, but can be linear (10 times slower than LALR for Modula-2) after optimization.\",\"PeriodicalId\":68622,\"journal\":{\"name\":\"软件\",\"volume\":\"53 1\",\"pages\":\"58-66\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1997-07-14\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"软件\",\"FirstCategoryId\":\"1093\",\"ListUrlMain\":\"https://doi.org/10.1109/STEP.1997.615464\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"软件","FirstCategoryId":"1093","ListUrlMain":"https://doi.org/10.1109/STEP.1997.615464","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Support for modular parsing in software reengineering
As reengineering increasingly contributes to software engineering, so can software engineering principles contribute to cost-effective reengineering tool development. The cost of modelling languages motivates support for modular parsers which can, like program modules, be assembled cheaply from smaller, tested components. We describe a scheme which achieves this by extending the expressive and flexible combinator parsing scheme using object-oriented constructs (class inheritance and dynamic method dispatch). Related schemes either do not fully support code sharing or sacrifice flexibility. The scheme has been implemented in a prototype reengineering environment and successfully tested on grammars such as Modula-2. The generation time for extensions is linear in the size of the extension. The run-time performance is potentially as bad as for general parsing algorithms, but can be linear (10 times slower than LALR for Modula-2) after optimization.
期刊介绍:
Computer engineering & Software, founded in 1979, is an academic journal of information technology sponsored by China Association for Science and Technology and China Institute of Electronics and Tianjin Institute of Electronics.
Computer engineering & Software has columns such as expert Forum, Fund project papers, software and database technology research, application technology and research, network and communication, image processing and application, multimedia technology application Artificial intelligence and recognition.
Computer engineering & Software is the source Journal of China Academic Periodical Comprehensive Evaluation Database, the Journal of China Core Periodical (Selection) Database, the source journal of Peking University's Chinese Core Periodical Overview (the first edition in 1992), the Journal of Wanfang data-Digital Periodical Group full-text Collection, the Journal of Chinese Science and Technology Periodical Database (full-text edition), and Wave Journals included in the "Copernicus Index" have been included in the United States "Cambridge Scientific Abstracts", the United States "Uhlig International Journal Guide", the JST Japan Science and Technology Promotion Agency database (2018) and other Chinese and foreign databases.