1// fstlib.h 2 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14// 15// Copyright 2005-2010 Google, Inc. 16// Author: riley@google.com (Michael Riley) 17// 18// \page FstLib FST - Weighted Finite State Transducers 19// This is a library for constructing, combining, optimizing, and 20// searching "weighted finite-state transducers" (FSTs). Weighted 21// finite-state transducers are automata where each transition has an 22// input label, an output label, and a weight. The more familiar 23// finite-state acceptor is represented as a transducer with each 24// transition's input and output the same. Finite-state acceptors 25// are used to represent sets of strings (specifically, "regular" or 26// "rational sets"); finite-state transducers are used to represent 27// binary relations between pairs of strings (specifically, "rational 28// transductions"). The weights can be used to represent the cost of 29// taking a particular transition. 30// 31// In this library, the transducers are templated on the Arc 32// (transition) definition, which allows changing the label, weight, 33// and state ID sets. Labels and state IDs are restricted to signed 34// integral types but the weight can be an arbitrary type whose 35// members satisfy certain algebraic ("semiring") properties. 36// 37// For more information, see the FST Library Wiki page: 38// http://wiki.corp.google.com/twiki/bin/view/Main/FstLibrary 39 40// \file 41// This convenience file includes all other FST inl.h files. 42// 43 44#ifndef FST_LIB_FSTLIB_H__ 45#define FST_LIB_FSTLIB_H__ 46 47 48// Abstract FST classes 49#include <fst/fst.h> 50#include <fst/expanded-fst.h> 51#include <fst/mutable-fst.h> 52 53// Concrete FST classes 54#include <fst/compact-fst.h> 55#include <fst/const-fst.h> 56#include <fst/edit-fst.h> 57#include <fst/vector-fst.h> 58 59// FST algorithms and delayed FST classes 60#include <fst/arcsort.h> 61#include <fst/arc-map.h> 62#include <fst/closure.h> 63#include <fst/compose.h> 64#include <fst/concat.h> 65#include <fst/connect.h> 66#include <fst/determinize.h> 67#include <fst/difference.h> 68#include <fst/encode.h> 69#include <fst/epsnormalize.h> 70#include <fst/equal.h> 71#include <fst/equivalent.h> 72#include <fst/factor-weight.h> 73#include <fst/intersect.h> 74#include <fst/invert.h> 75#include <fst/map.h> 76#include <fst/minimize.h> 77#include <fst/project.h> 78#include <fst/prune.h> 79#include <fst/push.h> 80#include <fst/randequivalent.h> 81#include <fst/randgen.h> 82#include <fst/rational.h> 83#include <fst/relabel.h> 84#include <fst/replace.h> 85#include <fst/replace-util.h> 86#include <fst/reverse.h> 87#include <fst/reweight.h> 88#include <fst/rmepsilon.h> 89#include <fst/rmfinalepsilon.h> 90#include <fst/shortest-distance.h> 91#include <fst/shortest-path.h> 92#include <fst/statesort.h> 93#include <fst/state-map.h> 94#include <fst/synchronize.h> 95#include <fst/topsort.h> 96#include <fst/union.h> 97#include <fst/verify.h> 98#include <fst/visit.h> 99 100// Weights 101#include <fst/weight.h> 102#include <fst/expectation-weight.h> 103#include <fst/float-weight.h> 104#include <fst/lexicographic-weight.h> 105#include <fst/pair-weight.h> 106#include <fst/power-weight.h> 107#include <fst/product-weight.h> 108#include <fst/random-weight.h> 109#include <fst/signed-log-weight.h> 110#include <fst/sparse-power-weight.h> 111#include <fst/sparse-tuple-weight.h> 112#include <fst/string-weight.h> 113#include <fst/tuple-weight.h> 114 115// Auxiliary classes for composition 116#include <fst/compose-filter.h> 117#include <fst/lookahead-filter.h> 118#include <fst/lookahead-matcher.h> 119#include <fst/matcher-fst.h> 120#include <fst/matcher.h> 121#include <fst/state-table.h> 122 123// Data structures 124#include <fst/heap.h> 125#include <fst/interval-set.h> 126#include <fst/queue.h> 127#include <fst/union-find.h> 128 129// Miscellaneous 130#include <fst/accumulator.h> 131#include <fst/add-on.h> 132#include <fst/arc.h> 133#include <fst/arcfilter.h> 134#include <fst/cache.h> 135#include <fst/complement.h> 136#include <fst/dfs-visit.h> 137#include <fst/generic-register.h> 138#include <fst/label-reachable.h> 139#include <fst/partition.h> 140#include <fst/properties.h> 141#include <fst/register.h> 142#include <fst/state-reachable.h> 143#include <iostream> 144#include <fstream> 145#include <sstream> 146#include <fst/string.h> 147#include <fst/symbol-table.h> 148#include <fst/symbol-table-ops.h> 149#include <fst/test-properties.h> 150#include <fst/util.h> 151 152 153#endif // FST_LIB_FSTLIB_H__ 154