Thanks to visit codestin.com
Credit goes to github.com

Skip to content

jparsec/jparsec

Repository files navigation

jparsec

Builds mini parsers in pure Java.

Latest version: 3.0 (requires Java 8+)

News

2025-10-23

  • If you are on Java 21+, prefer using Google Mug Dot Parse — a re-imagined parser combinator library:
    • The API uses static type to completely eliminate infinite loops or accidental left recursions caused by zero-consumption parser — traditionally painful to debug in current jparsec or similar combinator or PEG libraries.
    • It supports lazy, streaming parsing through the parseToStream() and probe() methods.
    • Significantly lower ceremony. For example to parse by tokens, just use .parseSkipping(Character::isWhitespace, input).
    • Extremely compact footprint (1/5 the size of jparsec).
    • Embraces modern Java (Stream, pattern matching).
    • Offers a regex and a csv parser out-of-the-box. You can also check out the code as examples for how easy it is to build moderately complex parsers in few lines of code.

2016-12-05

  • Removed references to Codehaus in copyright and package layout
  • Support for Java 8 now complete
  • Support for OSGi is merged in master, thanks to Alex Michael Berry and this PR

How to Use?

jparsec is available in maven-central. Snapshot Javadoc

Maven

Add the following fragment to your <dependencies> section:

If using Java 7-:

  <dependency>
    <groupId>org.jparsec</groupId>
    <artifactId>jparsec</artifactId>
    <version>2.3</version>
  </dependency>

If using Java 8+:

  <dependency>
    <groupId>org.jparsec</groupId>
    <artifactId>jparsec</artifactId>
    <version>3.1</version>
  </dependency>

Tell me more

Jparsec is a recursive-descent parser combinator framework written for Java. It's an implementation of Haskell Parsec on the Java platform.

Feature highlights

  • Operator precedence grammar,
  • Accurate error location and customizable error message,
  • Rich set of pre-defined reusable combinator functions,
  • Declarative API that resembles BNF.

Documentation

Look at the wiki for documentation on implementing parsers with jparsec.

Talking about jparsec

  • 2014-01-16 - Nantes JUG: Quickie on jparsec for local JUG
  • 2013-09-23 - JUGSummerCamp 2013: Directory parsing-made-easy contains material for the talk (slides + sample code)

About

Build parsers in Java

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 11