Arpeggio: A flexible PEG parser for Python

作者:

Highlights:

摘要

Arpeggio is a recursive descent parser with full backtracking and memoization based on PEG (Parsing Expression Grammar) grammars. This category of parsers is known as packrat parsers. It is implemented in the Python programming language and works as a grammar interpreter.Arpeggio has a very good support for error reporting, debugging, and grammar and parse tree visualization. It is used in industrial environments and teaching Domain-Specific Languages course at the Faculty of Technical Sciences in Novi Sad. Arpeggio is a foundation of a high-level DSL meta-language and tool - textX.It is a free and open-source software available at GitHub under MIT license.

论文关键词:PEG,Packrat,Parser,Python,DSL,TextX

论文评审过程:Received 2 September 2015, Revised 11 December 2015, Accepted 12 December 2015, Available online 22 December 2015, Version of Record 27 January 2016.

论文官网地址:https://doi.org/10.1016/j.knosys.2015.12.004