![](https://raw.githubusercontent.com/textX/Arpeggio/master/art/arpeggio-logo.png)

[![PyPI Version](https://img.shields.io/pypi/v/Arpeggio.svg)](https://pypi.python.org/pypi/Arpeggio)
![](https://img.shields.io/pypi/l/Arpeggio.svg)
[![Build status](https://travis-ci.org/textX/Arpeggio.svg?branch=master)](https://travis-ci.org/textX/Arpeggio)
[![Coverage Status](https://coveralls.io/repos/github/textX/Arpeggio/badge.svg)](https://coveralls.io/github/textX/Arpeggio)
[![Documentation](https://img.shields.io/badge/docs-latest-green.svg)](http://textx.github.io/Arpeggio/latest/)

Arpeggio is a recursive descent parser with memoization based on PEG grammars
(aka Packrat parser).

Documentation with tutorials is available [here](http://textx.github.io/Arpeggio/).

**Note:** for a higher level parsing/language tool (i.e., a nicer interface to
Arpeggio) see [textX](https://github.com/textX/textX).
