-
Notifications
You must be signed in to change notification settings - Fork 0
Home
github-actions[bot] edited this page Jun 21, 2026
·
6 revisions
rusty-alto is a Rust implementation of weighted tree automata and interpreted
regular tree grammars (IRTGs), designed to consume Alto-compatible data while
offering a clean compositional API and efficient parsing algorithms.
The main pieces are:
- an oracle-style interface for bottom-up tree automata;
- an explicit, indexed automaton representation;
- lazy automaton combinators;
- algebras, homomorphisms, and IRTG interpretations;
- typed input/output codec registries and algebra-owned display codecs;
- TAG string, TAG derived-tree, and feature-structure algebras;
- materialization and A* algorithms that turn composed automata into parse charts or one-best derivations;
- runners, Viterbi extraction, corpus I/O, and evaluation tools.
Start here:
- Architecture follows data through the main modules.
- Parsing pipeline explains how an IRTG and an input sentence become a derivation.
- Choosing a parsing algorithm compares the user-facing strategies, their trade-offs, and cooperative cancellation.
- Codec infrastructure explains format discovery, algebra value visualization, and the GUI integration boundary.
- Design decisions records the abstractions and performance trade-offs that shape the implementation.
-
Development and performance describes the
repository layout, testing, benchmarking, and the relationship with Alto and
packed-term-arena.
For the public Rust API, see the
generated cargo documentation.
For command-line usage, see the
README and
docs/eval.md.