OMeta is an object oriented language for pattern matching, which tries to provide convenient way for programmers to create parsers and compilers.
Its highlights include:
- Rules apply to a stream of objects, not just a stream of characters
- Extend a parser that already exists
- Call rules from other parsers (foreign rule mechanism)
- Higher order rules (rules that take other rules as arguments)
- Support for left recursive rules