Skip to content
Snippets Groups Projects
README.md 3.02 KiB
Newer Older
  • Learn to ignore specific revisions
  • Automata (Algorithms) Library Toolkit
    =====================================
    
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
    ![automaton][logo]
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    
    What is it?
    -----------
    The automata (algorithm) library toolkit (ALT) is a mathematical implementation
    of various types of automata, grammars, and other common structires along
    with mathematical implementation of algorithms over these structures.
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    Originaly developed at Faculty of Information Technology of Czech Technical
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    University in Prague. It supposed to be a reference implementation of formal
    algorithms as-are in papers, hence allowing practical reuse of existing
    algorithms in form of by pipe comunicating tools.
    
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
    
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    The Latest Version
    ------------------
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
    Details of the latest version can be found visitng our [gitlab project page][1].
    
    
    Requirements
    ------------
    Project is pure C++ builded by makefile. Some tests are handled by
    shell scripts.
    
     * `make >= 3.9`
     * `g++ >= 4.8` or `clang++ >= 3.5`
     * `binutils-dev`
     * `libiberty-dev`
     * `libcppunit-dev`
     * `libtclap-dev`
     * `doxygen` (optional for documentation generation)
     * `graphviz` (optional for documentation generation and automata
    visualizations)
    
    
    Installation
    ------------
     1. Clone the repo: `git clone` or download sources of [stable release][3]
    and extract it.
     2. Change directory and compile: `cd automata-library` and `make`.
     3. Run :)
    
    * *Optional step:* Generate documentation by executing `make doc`.
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    
    
    Documentation
    -------------
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
    Developer documentation is available for generation using makefile (requires
    `doxygen`) and will be attached in release packages.
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
    Contributing
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    ------------
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
    Feel free to [fork][4] this project and send your merge requests there.
    
    
    Developers
    ----------
    The formatting of the code in ALT is defined by *uncrustify* configuration file
    and *clang-format* configuration file in cooperation (both had some
    side-effects). Every developer contributing to the project shall format the
    code before making the commit. Pre-commit hook and both configuration
    files are present in the repository.
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
    Please install `uncrustify` and `clang-format`. Then move/copy `.pre-commit`
    file to `.git/hooks/pre-commit`.
    
    Vim configuration for this project is available in `.lvimrc` file and
    [localvimrc][2] Vim extension is used to load this file.
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    Licensing
    ---------
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
    Please see LICENSE file.
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    
    
    Contacts
    --------
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
     * If you want to be informed about new code releases, bug fixes,
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    security fixes, general news and information about the ALT
    subscribe to the ?? mailing list as described under ??
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
     * If you want freely available support for running ALT please see the
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    resources at ??
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
     * If you have a concrete bug report for ALT please see the instructions
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    for bug reporting at ??
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
     * If you want to participate in actively developing ALT please
    
    subscribe to the ?? mailing list as described at ??
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    
    Authors
    -------
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
     * Author 1
     * Author 2
    
    Jan Trávníček's avatar
    Jan Trávníček committed
    
    
    
    [1]: https://gitlab.fit.cvut.cz/travnja3/automata-library.
    [2]: http://www.vim.org/scripts/script.php?script_id=441
    
    Tomáš Pecka's avatar
    Tomáš Pecka committed
    [3]: https://gitlab.fit.cvut.cz/travnja3/automata-library/tags
    [4]: https://gitlab.fit.cvut.cz/travnja3/automata-library/fork/new
    [logo]: docs/logo.png