{"title":"处理语法错误的LR技术","authors":"Pierpaolo Degano , Corrado Priami","doi":"10.1016/S0096-0551(97)00016-7","DOIUrl":null,"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.0000,"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":"5","resultStr":"{\"title\":\"LR techniques for handling syntax errors\",\"authors\":\"Pierpaolo Degano , Corrado Priami\",\"doi\":\"10.1016/S0096-0551(97)00016-7\",\"DOIUrl\":null,\"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.0000,\"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\":\"5\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0096055197000167\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0096055197000167","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
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.