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/disambiguate.h> 69 #include <fst/encode.h> 70 #include <fst/epsnormalize.h> 71 #include <fst/equal.h> 72 #include <fst/equivalent.h> 73 #include <fst/factor-weight.h> 74 #include <fst/intersect.h> 75 #include <fst/invert.h> 76 #include <fst/map.h> 77 #include <fst/minimize.h> 78 #include <fst/project.h> 79 #include <fst/prune.h> 80 #include <fst/push.h> 81 #include <fst/randequivalent.h> 82 #include <fst/randgen.h> 83 #include <fst/rational.h> 84 #include <fst/relabel.h> 85 #include <fst/replace.h> 86 #include <fst/replace-util.h> 87 #include <fst/reverse.h> 88 #include <fst/reweight.h> 89 #include <fst/rmepsilon.h> 90 #include <fst/rmfinalepsilon.h> 91 #include <fst/shortest-distance.h> 92 #include <fst/shortest-path.h> 93 #include <fst/statesort.h> 94 #include <fst/state-map.h> 95 #include <fst/synchronize.h> 96 #include <fst/topsort.h> 97 #include <fst/union.h> 98 #include <fst/verify.h> 99 #include <fst/visit.h> 100 101 // Weights 102 #include <fst/weight.h> 103 #include <fst/expectation-weight.h> 104 #include <fst/float-weight.h> 105 #include <fst/lexicographic-weight.h> 106 #include <fst/pair-weight.h> 107 #include <fst/power-weight.h> 108 #include <fst/product-weight.h> 109 #include <fst/random-weight.h> 110 #include <fst/signed-log-weight.h> 111 #include <fst/sparse-power-weight.h> 112 #include <fst/sparse-tuple-weight.h> 113 #include <fst/string-weight.h> 114 #include <fst/tuple-weight.h> 115 116 // Auxiliary classes for composition 117 #include <fst/compose-filter.h> 118 #include <fst/lookahead-filter.h> 119 #include <fst/lookahead-matcher.h> 120 #include <fst/matcher-fst.h> 121 #include <fst/matcher.h> 122 #include <fst/state-table.h> 123 124 // Data structures 125 #include <fst/heap.h> 126 #include <fst/interval-set.h> 127 #include <fst/queue.h> 128 #include <fst/union-find.h> 129 130 // Miscellaneous 131 #include <fst/accumulator.h> 132 #include <fst/add-on.h> 133 #include <fst/arc.h> 134 #include <fst/arcfilter.h> 135 #include <fst/cache.h> 136 #include <fst/complement.h> 137 #include <fst/dfs-visit.h> 138 #include <fst/generic-register.h> 139 #include <fst/label-reachable.h> 140 #include <fst/partition.h> 141 #include <fst/properties.h> 142 #include <fst/register.h> 143 #include <fst/state-reachable.h> 144 #include <iostream> 145 #include <fstream> 146 #include <sstream> 147 #include <fst/string.h> 148 #include <fst/symbol-table.h> 149 #include <fst/symbol-table-ops.h> 150 #include <fst/test-properties.h> 151 #include <fst/util.h> 152 153 154 #endif // FST_LIB_FSTLIB_H__ 155