There is a newer version of the record available.

Published May 13, 2014 | Version 1.0
Software Open

Unity: multi-syntax unit parsing

  • 1. University of Glasgow

Description

This is the unity library, which is able to parse scientific unit specifications using a variety of syntaxes.

The library was written with the following goals:

  • Producing formal grammars of the existing and proposed standard unit syntaxes, for reference purposes.
  • Participating in the VOUnit standardisation process by acting as a locus for experimentation with syntaxes and proposed standards.
  • To that end, discovering edge cases and producing test cases.
  • Producing parsing libraries which are fast and standalone, and so could be conveniently used by other software; this will act as an implementation of the eventual VOUnits standard.  The distribution is buildable using no extra software beyond a Java and a C compiler.  It is also a goal that the distributed Java is source-compatible with Java 1.5 (though this isn't automatically tested, so bugreports are welcome).

It is not a goal for this library to do any processing of the resulting units, such as unit conversion or arithmetic.  Parsing unit strings isn't a deep or particularly interesting problem, but it's more fiddly than one might expect, and so it's useful for it to be done properly once.

A major goal of the VOUnits process is to identify a syntax for unit strings (called 'VOUnits') which is as nearly as possible in the intersection of the various existing standards.  The intention is that if file creators target the VOUnits syntax, the resulting string has a chance of being readable by as many other parsers as possible.  This isn't completely possible (the OGIP syntax doesn't allow dots as multipliers), but we can get close.

The contents of this upload are

  • unity-1.0-repo.zip : the repository code, as found at tag `1.0` of repository (note, this is the code repository as of mid-2022, when this upload was made; the location of the master repository has changed before and may change again)
  • unity-1.0-srcdist.tar.gz : the software distribution, as assembled from the repository code after some preprocessing
  • unity-1.0.jar : the executable jar file
  • unity-1.0-doxygen.zip and unity-1.0-javadocs.zip : the HTML versions of the documentation for the C and Java versions of the library

Files

unity-1.0-doxygen.zip

Files (1.4 MB)

Name Size Download all
md5:967240c0fe3429c7e8727ce9db48974d
177.3 kB Preview Download
md5:c0abc6120a102873134a69c2ee00a2a9
88.8 kB Preview Download
md5:a78bc50972e8199ce419a588540d6d10
539.4 kB Preview Download
md5:0d44f405863473c25aa64ac1ca5b522e
442.3 kB Download
md5:d087d3b31275d6e506047cfff0c3732a
107.7 kB Download

Additional details

Related works

Cites
Technical note: 10.5479/ADS/bib/2014ivoa.spec.0523D (DOI)
Is derived from
Software: https://heptapod.host/nxg/unity/-/releases/1.0 (URL)
Is referenced by
Software documentation: https://purl.org/nxg/dist/unity (URL)

Funding

European Commission
EUROVO-ICE – Euro-VO International Cooperation Empowerment 261541