The Parsing Expression Grammar Template Library (PEGTL) is a C++0x library for creating parsers according to a Parsing Expression Grammar (PEG). Grammars are embedded as regular C++ code, created with template programming (not template meta programming). These hierarchies naturally correspond to the inductive definition of PEGs. The library extends on the subject of PEGs with new expression types, actions that can be attached to grammar rules, and mechanisms to ensure helpful diagnostics in case of parsing errors. PEGs are superficially similar to Context-Free Grammars (CFGs).
Voca is a vocabulary trainer for foreign languages. It allows you to create and manage your own word lists and share them online. You can make word lists for any language or for other things you want to memorize. It lets you do different types of exercises, including grammar, pronunciation, and picture tests. It lets you take tests with open answers, self-check, or multiple choice. Voca has support for multiple translations of a single word.
After The Deadline is contextual spell checking, grammar checking, and style checking technology. It has seamless service integration with online publishing tools and platforms (WordPress, TinyMCE, etc.). AtD's sophisticated language models can catch and suggest corrections to subtle errors in context.
XML-Grammar-Fiction is a Perl package that provides processors for lightweight markup languages and corresponding XML grammars for writing prose (e.g. stories, novels, and novellas) as well as screenplays. The XML grammars can in turn be translated to XHTML and DocBook/XML. XML-Grammar-Fiction currently offers only very basic functionality, but has good support for UTF-8 and allows one to write bidirectional texts conveniently. It is still under development and may exhibit some quirks.
Replo is a cross-platform utility for performing syntactically-aware diff, find, and replace operations. It is similar to IntelliJ's "structural find and replace" feature but allows for configurable grammars. With Replo, users can compare, detect, and replace idiomatic structures without worrying about irrelevant stylistic inconsistencies. Common grammars (e.g. C, C++, C#, Java, Ruby) are provided, but users can also leverage ANTLR to define their own.