Software
The following software packages have been created by members of the
Theoretical Computer Science Group, and are available for download from our site.
- Grail
- Grail is a symbolic
computation environment for finite-state machines, regular
expressions, and other formal language theory objects. Using Grail,
one can input machines or expressions, convert them from one form to
the other, minimize, make deterministic, complement, and perform
many other operations. Grail is intended for use in teaching, for
research into the properties of machines, and for efficient
computation with machines. Grail is written in C++. It can be
accessed either through a process library or through a C++ class
library.
- Grama
-
GraMa will be a symbolic computation environment for pushdown
machines, context-free expressions, context-free grammars and other
formal language theory objects. Using GraMa, one can input machines,
expressions or grammars, convert them from one form to the other,
reduce them, convert them into specified normal forms and perform
other operations. GraMa is intended for use in teaching, for
research into the properties of grammars, and for efficient
computation with grammars and machines. GraMa will be written in
C++. It will be accessed either through a process library or through
a C++ class library.
- ANN
- ANN is a
library written in C++, which supports data structures and
algorithms for both exact and approximate nearest neighbor searching
in arbitrarily high dimensions.
Web page maintained by Siu-Wing Cheng,
HKUST Theoretical Computer Science Group