Here are short descriptions of some of my FLOSS projects I like to hack on. I use these tools in teaching Domain-Specific Languages course.
textX is a meta-language (i.e. a language for language definition) for domain-specific language (DSL) specification in Python inspired by Xtext.
From a single grammar description textX automatically builds a meta-model (in the form of Python classes) and a parser for your language. Parser will parse expressions on your language and automatically build a graph of Python objects (i.e. the model) corresponding to the meta-model.
Parglare is a modern approach to old-school parsing algorithms - LR and GLR. It uses integrated scanner (a.k.a scannerless parsing), have an extensive support for debugging, tracing and visualization. For grammar specification a BNF-like notation is used.
Arpeggio is recursive descent parser with backtracking and memoization (a.k.a. pacrat parser) for Python. Arpeggio grammars are based on the PEG formalism. Arpeggio’s main use is a foundation for a tool-chain for DSL development but it can be used for all sort of general purpose parsing.
It is used as a parsing tehnology for textX.