Instaparse is a simple yet powerful parser generator for Clojure and ClojureScript that turns grammars written in EBNF or ABNF into executable parsers, with support for left recursion, ambiguous grammars, PEG-like lookahead, and various output formats. Instaparse supports most of the common notations for context-free grammars. For example, a popular alternative to * is to surround the term with curly braces {}, and a popular alternative to ? is to surround the term with square brackets []. Rules can be specified with =, :, :=, or ::=. Rules can optionally end with ;. Instaparse is very flexible in terms of how you use whitespace (as in Clojure, , is treated as whitespace) and you can liberally use parentheses for grouping.

Features

  • Grammar definitions in familiar EBNF or ABNF syntax
  • Handles left- and right-recursive and ambiguous grammars
  • Support for lookahead and negative lookahead (PEG-like extensions)
  • Multiple output formats including hiccup and enlive parse trees
  • Detailed error reporting and optional lazy parse results
  • "Total parsing" mode and combinator-based grammar building

Project Samples

Project Activity

See All Activity >

License

Eclipse Public License

Follow Instaparse

Instaparse Web Site

Other Useful Business Software
Build Securely on AWS with Proven Frameworks Icon
Build Securely on AWS with Proven Frameworks

Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
Download Now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Instaparse!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Registered

2025-08-19