{"title":"用于编译的自顶向下解析协处理器","authors":"Y. Chu, K. Itano","doi":"10.1109/HICSS.1989.47182","DOIUrl":null,"url":null,"abstract":"The architecture of a top-down parsing coprocessor is presented. This processor aims at fast compilation for programming languages in LL(1) grammar. It accepts a stream of tokens from the lexical coprocessor and produces a stream of codes representing semantic action to be taken by the CPU. The coprocessor organization has a pipeline and two register stacks. The pipeline has four stages during which the production rule for each input token is checked and the semantic rules are selected. One register stack handles the production rules, while the other register stack handles the semantic rules. Only a small set of coprocessor instructions is needed for writing the parsing code and the size of the code is less than ten coprocessor instructions. It is estimated that the parsing coprocessor could produce the codes for possible semantic action at an average rate of 2 million codes per second.<<ETX>>","PeriodicalId":300182,"journal":{"name":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume 1: Architecture Track","volume":"60 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1989-01-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A top-down parsing co-processor for compilation\",\"authors\":\"Y. Chu, K. Itano\",\"doi\":\"10.1109/HICSS.1989.47182\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The architecture of a top-down parsing coprocessor is presented. This processor aims at fast compilation for programming languages in LL(1) grammar. It accepts a stream of tokens from the lexical coprocessor and produces a stream of codes representing semantic action to be taken by the CPU. The coprocessor organization has a pipeline and two register stacks. The pipeline has four stages during which the production rule for each input token is checked and the semantic rules are selected. One register stack handles the production rules, while the other register stack handles the semantic rules. Only a small set of coprocessor instructions is needed for writing the parsing code and the size of the code is less than ten coprocessor instructions. It is estimated that the parsing coprocessor could produce the codes for possible semantic action at an average rate of 2 million codes per second.<<ETX>>\",\"PeriodicalId\":300182,\"journal\":{\"name\":\"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume 1: Architecture Track\",\"volume\":\"60 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1989-01-03\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume 1: Architecture Track\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/HICSS.1989.47182\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume 1: Architecture Track","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/HICSS.1989.47182","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
The architecture of a top-down parsing coprocessor is presented. This processor aims at fast compilation for programming languages in LL(1) grammar. It accepts a stream of tokens from the lexical coprocessor and produces a stream of codes representing semantic action to be taken by the CPU. The coprocessor organization has a pipeline and two register stacks. The pipeline has four stages during which the production rule for each input token is checked and the semantic rules are selected. One register stack handles the production rules, while the other register stack handles the semantic rules. Only a small set of coprocessor instructions is needed for writing the parsing code and the size of the code is less than ten coprocessor instructions. It is estimated that the parsing coprocessor could produce the codes for possible semantic action at an average rate of 2 million codes per second.<>