An ANTLR 4 grammar and parser for IRI (Internationalized Resource Identifiers).
The grammar can be found in
src/main/antlr4/nl/bigo/iriparser
.
Seeing the generated parser in action can be done by building a fat JAR of the project and then running it to parse some input provided as a command line parameter.
git clone https://github.com/bkiers/iri-parser
cd iri-parser
mvn clean antlr4:antlr4
mvn clean install package
java -jar target/iri-parser-0.1.0.jar "https://me@[2001:db8::ff00:42:8329]/path?query=nothing#somewhere"
Running the command above would print the following output:
> the scheme : https
> ihier-part : //me@[2001:db8::ff00:42:8329]/path
> an IPv6 address : 2001:db8::ff00:42:8329
> a query : query=nothing
> a fragment : somewhere