Home | History | Annotate | Download | only in fst
      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 (at) 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