The jhoafparser Library for the
Hanoi Omega-Automata Format (HOAF):
Documentation (version 1.1.1)


The Hanoi Omega-Automata Format (HOAF) provides a flexible and robust mechanism for exchanging ω-automata between different tools. With the jhoafparser library, we provide (1) a Java-based parser library for parsing HOA files that can be used by applications and tools that want to read HOA files and (2) a command-line tool for performing basic automata operations.

You can find the most current version of the library at, as well as links to example automata.

If you are interested in a C++-based variant of this library, check out cpphoafparser. cpphoafparser and jhoafparser share the same design, but may differ in some of the features that are implemented.

jhoafparser is free software and released under the terms of the GNU Lesser General Public License, version 2.1.

The Command-Line Tool

The Command-Line Tool: First Steps

We assume here that you have either downloaded the JAR file from the website, which allows you to invoke the tool via

java -jar jhoafparser-xx.yy.jar

where xx.yy is the version. Alternatively, if you are in the top-level directory of the unpacked ZIP file from the website, you can invoke the tool (on Linux or OS X) via


In the sequel, we use the latter notation, but you can substitute the invocation of the JAR file in the following examples.

Here are some examples for the command-line jhoaf tool:

Parsing (validating) an automaton in HOA format

./jhoaf parse automaton-file.hoa

Some of the semantic validations can be disabled by the command-line option --no-validate.

Printing an automaton in HOA format to standard output

./jhoaf print automaton-file.hoa

Resolving aliases

./jhoaf print --resolve-aliases automaton-file.hoa

The Command-Line Tool: Further information

Further details on the command-line tool can be found here.

The HOA Parser Library

The jhoafparser library can also be used to parse HOA automata. For example, you might want to read such automata in a tool or you might want to implement your own automata transformations.

As a first step, download the source code of the library from the website. Then, build a local copy of the JavaDoc documentation using the ant build tool:

ant javadoc

This produces the API documentation in the docs/javadoc subdirectory. Alternatively, the API documentation of the current version of the library is available on the website at

A good starting point is the API documentation of the jhoafparser.consumer.HOAConsumer interface and the implementation of the class, where you can see how the parser is invoked. To parse automata using the jhoafparser library, an application provides the parser with a class which implements the HOAConsumer interface. The parser then invokes the method corresponding to the element in the HOA file format while parsing the automaton.

The Parser Library: Further information

More details and an overview over the jhoafparser architecture can be found here.

Additional links

If you have further questions, find bugs or want to tell us about your use of the jhoafparser library, please feel free to contact us!

(c) 2014-2015 Joachim Klein <>, David Müller <>