# The j hoaf parser Library for the
Hanoi Omega-Automata Format (HOAF):
Documentation (version 1.1.0)

## Overview

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 http://automata.tools/hoa/jhoafparser/, as well as links to example automata.

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

    ./jhoaf

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 http://automata.tools/hoa/jhoafparser/docs/javadoc/.

A good starting point is the API documentation of the jhoafparser.consumer.HOAConsumer interface and the implementation of the jhoafparser.tools.JHOAFCmdLine 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.

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

If you are using jhoafparser to support the HOA format in your tool or have question regarding its use, please feel free to contact us!

## Additional links

- The specification of the Hanoi Omega-Automata Format (HOAF).
- A page listing tools that support HOAF.

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!

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 <klein@tcs.inf.tu-dresden.de>, David Müller <david.mueller@tcs.inf.tu-dresden.de>