.. FAdo documentation master file, created by
   sphinx-quickstart on Wed Jul 20 10:07:20 2011.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to FAdo's documentation
================================

.. toctree::
   :maxdepth: 2

**FAdo: Tools for Language Models Manipulation**

*Authors:* Rogério Reis & Nelma Moreira

The support of transducers and all its operations, as well of Set Specifications, is a joint work with *Stavros Konstantinidis* (St. Mary's University, Halifax, NS, Canada) (http://cs.smu.ca/~stavros/).


Contributions by

.. hlist::

  * Marco Almeida
  * Ivone Amorim
  * Rafaela Bastos
  * Miguel Ferreira
  * Hugo Gouveia
  * Rizó Isrof
  * Eva Maia
  * Casey Meijer
  * Davide Nabais
  * Meng Yang
  * Joshua Young


*Page of the project:*   http://fado.dcc.fc.up.pt.

*Version:* |release|

*Copyright:* 1999-2022 Rogério Reis & Nelma Moreira {rogerio.reis,nelma.moreira}@fc.up.pt

*Faculdade de Ciências da Universidade do Porto*

*Centro de Matemática da Universidade do Porto*

**Licence:**

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

.. include:: ../README.rst


================================
Module: Finite Automata (``fa``)
================================

.. automodule:: FAdo.fa
   :no-members:

-------
Classes
-------

.. autoclass:: FA
.. autoclass:: SemiDFA
.. autoclass:: OFA
.. autoclass:: DFA
.. autoclass:: NFA
.. autoclass:: NFAr
.. autoclass:: SSemiGroup
.. autoclass:: EnumL

---------
Functions
---------

.. autofunction:: saveToString
.. autofunction:: stringToDFA

=============================================================
Module: Conversion of Finite Automata: (``FAdo.conversions``)
=============================================================


.. automodule:: FAdo.conversions
   :no-members:


-------
Classes 
-------

.. autoclass:: GFA

---------
Functions
---------

.. autofunction:: FA2GFA
.. autofunction:: FAallRegExps
.. autofunction:: cutPoints
.. autofunction:: FA2regexpSE
.. autofunction:: SP2regexp
.. autofunction:: FAeliminateSingles
.. autofunction:: FA2regexpCG
.. autofunction:: FA2regexpCG_nn
.. autofunction:: FA2regexpSEO
.. autofunction:: FA2regexpDynamicCycleHeuristic
.. autofunction:: FA2regexpStaticCycleHeuristic
.. autofunction:: FA2regexpSE_nn
.. autofunction:: DFA2regexpDijkstra

=======================================
Module: Common Definitions (``common``)
=======================================

.. automodule:: FAdo.common
   :no-members:

-------
Classes
-------

.. autoclass:: Word
.. autoclass:: Drawable

===================================
Module: FAdo IO Functions (``fio``)
===================================

.. automodule:: FAdo.fio
   :no-members:

---------------------------------------------------------------
Class BuildFadoObject (Semantics of the FAdo grammars' objects)
---------------------------------------------------------------

.. autoclass:: BuildFadoObject
   :no-members:

---------
Functions
---------

.. autofunction:: readFromFile
.. autofunction:: readOneFromFile
.. autofunction:: readOneFromString
.. autofunction:: saveToFile
.. autofunction:: saveToJson
.. autofunction:: saveToString
.. autofunction:: toJson

---------
Constants
---------

:const: `FAdo.fio.FAdoGrammar`

======================================
Module: Regular Expressions (``reex``)
======================================

.. automodule:: FAdo.reex
   :no-members:

-------
Classes
-------

.. autoclass:: RegularExpression
.. autoclass:: regexp
.. autoclass:: specialConstant
.. autoclass:: epsilon
.. autoclass:: emptyset
.. autoclass:: sigmaP
.. autoclass:: sigmaS
.. autoclass:: connective
.. autoclass:: star
.. autoclass:: concat
.. autoclass:: disj
.. autoclass:: power
.. autoclass:: option
.. autoclass:: conj
.. autoclass:: shuffle
.. autoclass:: atom
.. autoclass:: position
.. autoclass:: sconnective
.. autoclass:: sconcat
.. autoclass:: sstar
.. autoclass:: sdisj
.. autoclass:: sconj
.. autoclass:: snot
.. autoclass:: dag
.. autoclass:: dnode
.. autoclass:: m_atom
.. autoclass:: BuildRegexp
.. autoclass:: BuildRPNRegexp
.. autoclass:: BuildRPNSRE
.. autoclass:: BuildSRE

---------
Functions
---------

.. autofunction:: str2regexp
.. autofunction:: str2sre
.. autofunction:: rpn2regexp
.. autofunction:: to_s


=====================================
Module: Transducers (``transducers``)
=====================================

.. automodule:: FAdo.transducers
   :no-members:

-------
Classes
-------

.. autoclass:: Transducer
.. autoclass:: SFT
.. autoclass:: NFT
.. autoclass:: GFT

---------
Functions
---------

.. autofunction:: hypercodeTransducer
.. autofunction:: infixTransducer
.. autofunction:: isLimitExceed
.. autofunction:: outfixTransducer
.. autofunction:: prefixTransducer
.. autofunction:: suffixTransducer


=================================
Module: Finite Languages (``fl``)
=================================

.. automodule:: FAdo.fl
   :no-members:

-------
Classes
-------

.. autoclass:: FL
.. autoclass:: DFCA
.. autoclass:: AFA
.. autoclass:: ADFA
.. autoclass:: ANFA
.. autoclass:: RndWGen

---------
Functions
---------

.. autofunction:: sigmaInitialSegment
.. autofunction:: genRndTrieBalanced
.. autofunction:: genRndTrieUnbalanced
.. autofunction:: genRandomTrie
.. autofunction:: genRndTriePrefix
.. autofunction:: DFAtoADFA
.. autofunction:: stringToADFA


================================================
Module: graphs (graph creation and manipulation)
================================================

.. automodule:: FAdo.graphs
    :no-members:

.. autoclass:: Graph

.. autoclass:: DiGraph

.. autoclass:: DiGraphVm

====================================================
Module: Context Free Grammars Manipulation (``cfg``)
====================================================

.. automodule:: FAdo.cfg
   :no-members:

-------
Classes
-------

.. autoclass:: CFGrammar
.. autoclass:: CNF
.. autoclass:: cfgGenerator
.. autoclass:: reStringRGenerator

---------
Functions
---------

.. autofunction:: gRules
.. autofunction:: smallAlphabet

---------
Constants
---------

:const: reGrammar


=========================================
Module: Random DFA Generator (``rndfap``)
=========================================

.. automodule:: FAdo.rndfap
   :no-members:

-------
Classes
-------

.. autoclass:: ICDFArgen
.. autoclass:: ICDFArnd
.. autoclass:: ICDFArndIncomplete

===========================================
Module: Random ADFA Generator (``rndadfa``)
===========================================

.. automodule:: FAdo.rndadfa
	 :no-members:

-------
Classes
-------

.. autoclass:: ADFArnd

=============================================
Module: Combo Operations (``comboperations``)
=============================================

.. automodule:: FAdo.comboperations
   :no-members:

---------
Functions
---------

.. autofunction:: starConcat
.. autofunction:: concatWStar
.. autofunction:: starWConcat
.. autofunction:: starDisj
.. autofunction:: starInter0
.. autofunction:: starInter
.. autofunction:: disjWStar
.. autofunction:: interWStar

=========================
Module: Codes (``codes``)
=========================

.. automodule:: FAdo.codes
   :no-members:

-------
Classes
-------

.. autoclass:: CodeProperty
.. autoclass:: TrajProp
.. autoclass:: IPTProp
.. autoclass:: IATProp
.. autoclass:: PrefixProp
.. autoclass:: ErrDetectProp
.. autoclass:: ErrCorrectProp

---------
Functions
---------

.. autofunction:: buildTrajPropS
.. autofunction:: buildIATPropF
.. autofunction:: buildIPTPropF
.. autofunction:: buildIATPropS
.. autofunction:: buildIPTPropS
.. autofunction:: buildErrorDetectPropF
.. autofunction:: buildErrorCorrectPropF
.. autofunction:: buildErrorDetectPropS
.. autofunction:: buildErrorCorrectPropS
.. autofunction:: buildPrefixProperty
.. autofunction:: editDistanceW
.. autofunction:: exponentialDensityP
.. autofunction:: createInputAlteringSIDTrans


# ============================================================
# Module: Set Specification Transducers and Automata (``sst``)
# ============================================================
#
# .. automodule:: sst
#   :no-members:
#
# ---------
# Class PSP
# ---------
#
# .. autoclass:: PSP
#
==============
Small Tutorial
==============

.. include:: tutorial.rst

==================
Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

