{"title":"并行增量LR解析","authors":"N. Viswanathan, Y.N. Srikant","doi":"10.1016/0096-0551(94)90002-7","DOIUrl":null,"url":null,"abstract":"<div><p>A new parallel parsing algorithm for block structured languages, capable of parsing incrementally also, is presented. The parser is for LR grammars. A shared memory multiprocessor model is assumed. We associate processors to parse corrections independently with minimum reparsing. A new compatibility condition is used by the associated processors to terminate parsing, and prevent redoing the work of other processors. We give an efficient way of assembling the final parse tree from the individual parses. Our compatibility condition is simple and it can be computed at the parser construction time itself. Further, the compatibility condition can be tested while parsing, in constant time. The parser can be integrated into the editor. We give an estimate for speedup by our parallel parsing and parallel incremental parsing methods. We have obtained considerable speedups in simulation studies of our algorithm.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"20 3","pages":"Pages 151-175"},"PeriodicalIF":0.0000,"publicationDate":"1994-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/0096-0551(94)90002-7","citationCount":"3","resultStr":"{\"title\":\"Parallel incremental LR parsing\",\"authors\":\"N. Viswanathan, Y.N. Srikant\",\"doi\":\"10.1016/0096-0551(94)90002-7\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>A new parallel parsing algorithm for block structured languages, capable of parsing incrementally also, is presented. The parser is for LR grammars. A shared memory multiprocessor model is assumed. We associate processors to parse corrections independently with minimum reparsing. A new compatibility condition is used by the associated processors to terminate parsing, and prevent redoing the work of other processors. We give an efficient way of assembling the final parse tree from the individual parses. Our compatibility condition is simple and it can be computed at the parser construction time itself. Further, the compatibility condition can be tested while parsing, in constant time. The parser can be integrated into the editor. We give an estimate for speedup by our parallel parsing and parallel incremental parsing methods. We have obtained considerable speedups in simulation studies of our algorithm.</p></div>\",\"PeriodicalId\":100315,\"journal\":{\"name\":\"Computer Languages\",\"volume\":\"20 3\",\"pages\":\"Pages 151-175\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1994-08-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1016/0096-0551(94)90002-7\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/0096055194900027\",\"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/0096055194900027","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A new parallel parsing algorithm for block structured languages, capable of parsing incrementally also, is presented. The parser is for LR grammars. A shared memory multiprocessor model is assumed. We associate processors to parse corrections independently with minimum reparsing. A new compatibility condition is used by the associated processors to terminate parsing, and prevent redoing the work of other processors. We give an efficient way of assembling the final parse tree from the individual parses. Our compatibility condition is simple and it can be computed at the parser construction time itself. Further, the compatibility condition can be tested while parsing, in constant time. The parser can be integrated into the editor. We give an estimate for speedup by our parallel parsing and parallel incremental parsing methods. We have obtained considerable speedups in simulation studies of our algorithm.