{"title":"Just-in-time Parsing with Scannerless Earley Virtual Machines","authors":"A. Saikunas","doi":"10.1145/3387168.3387216","DOIUrl":null,"url":null,"abstract":"Scannerless Earley Virtual Machines (SEVM) is a new generalized context-free parsing method, in which grammars are internally encoded using a special instruction intermediate language. In this paper we show how just-in-time compilation can be used to translate intermediate form grammars into native machine code to achieve improved parsing performance. We also present an efficient method for lexical disambiguation, which additionally enables to significantly reduce the amount of code that needs to be just-in-time compiled. Finally, we compare our implementation of SEVM with other parser implementations and show that our parser provides acceptable performance for analysing real-world computer languages.","PeriodicalId":346739,"journal":{"name":"Proceedings of the 3rd International Conference on Vision, Image and Signal Processing","volume":"19 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-08-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 3rd International Conference on Vision, Image and Signal Processing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3387168.3387216","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Scannerless Earley Virtual Machines (SEVM) is a new generalized context-free parsing method, in which grammars are internally encoded using a special instruction intermediate language. In this paper we show how just-in-time compilation can be used to translate intermediate form grammars into native machine code to achieve improved parsing performance. We also present an efficient method for lexical disambiguation, which additionally enables to significantly reduce the amount of code that needs to be just-in-time compiled. Finally, we compare our implementation of SEVM with other parser implementations and show that our parser provides acceptable performance for analysing real-world computer languages.