Git Product home page Git Product logo

openfst.jl's Introduction

OpenFST

Implements finite state transducers via the C++ library OpenFST. Its syntax follows closely that of the C++ library.

julia> using Pkg; Pkg.add("OpenFST"); Pkg.build("OpenFST")

julia> # the sheep language: ba, baa, baaa, ...

julia> # start state is 0, accept states are [3], alphabet is {a,b}

julia> sheep = StdVectorFst(0, [(0, 1, :b), (1, 2, :a), (2, 3, :a), (3, 3, :a)], [3], Dict(:a => 1, :b => 2))
StdVectorFst(4 state(s))

julia> OpenFST.growth(sheep) # number of words
OpenFST.growth(sheep)
10-element Vector{BigInt}:
 0
 0
 0
 1
 1
 1
 1
 1
 1
 1

julia> sheepsheep = concat(sheep,sheep) # concatenation: baba, baaba, babaa, ...
StdVectorFst(8 state(s))

julia> OpenFST.growth(sheepsheep)
10-element Vector{BigInt}:
 0
 0
 0
 0
 0
 0
 1
 2
 3
 4

julia> sheepsheepsheep |> determinize |> minimize
StdVectorFst(9 state(s))

julia> (initial, transitions, accepting) = unpack(ans)
(0, [(0, 1, ), (1, 2, :b), (2, 3, :a), (3, 4, :a), (4, 5, ), (4, 4, :a), (5, 6, :b), (6, 7, :a), (7, 8, :a), (8, 8, :a)], [4, 8])

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.