Vaucanson 2b.3 (February 3rd, 2014)

From LRDE


Vaucanson 2 is an ongoing full rewrite of Vaucanson. While it mostly ressembles Vaucanson 1 in many regards, it is also very different in many others: it is much faster, far easier to use, and provides a richer feature-set. However, it does not yet provide any form of useful documentation.

The reader is invited to read the NEWS.txt file in the distribution to know more about what Vaucanson 2 can already do.

Available Ports

  • MacPorts
Run this command:
sudo port sync && sudo port install vaucanson

Downloads

Virtual Machine

To install a Vaucanson virtual machine, please follow this procedure:

  1. Install VirtualBox from your distro, or from https://www.virtualbox.org/wiki/Downloads.
  2. Install Vagrant from your distro, or from http://www.vagrantup.com/downloads.html
  3. Download this Vagrantfile and save it somewhere. For instance
    1 mkdir ~/src/vcsn2
    2 cd ~/src/vcsn2
    3 wget {{SERVER}}/dload/vaucanson/2.0/Vagrantfile
    
  4. Run Vagrant (first time will be slow: let it download the VM)
    1 cd ~/src/vcsn2
    2 vagrant up
    
    Vaucanson is runnning!
  5. Open http://localhost:8888 in your favorite browser.
  6. Experiment! (Hit Shift-Enter to evaluate):
    1 import vcsn
    2 vcsn.context('lal_char(abc)_z').ratexp('(<2>a+<3>b)*').derived_term()
    
  7. Turn your VM off when you are done
    1 vagrant halt
    

Requirements

In order to compile Vaucanson 2, you need:

C++ compiler
Clang 3.4 or better are known to work properly. GNU g++ 4.7 cannot compiler Vaucanson 2 at all, however 4.8 and 4.9 can compile most of it correctly: they fail to compile properly (incorrect behavior at runtime) some pieces of code in tupleset, an undocumented feature, so you should not be concerned, yet.
Graphviz
The display of automata is made using AT&T Graphviz library. (On Ubuntu/Debian, install the following package: graphviz)
Boost
Boost (version 1.49 or later) provides free peer-reviewed portable C++ source libraries (at least the Boost.Python and Boost.Regex components, and properly others).
Flex
The Flex scanner generater, 2.5.37 or better.
Ccache
Although not required, it is strongly recommended to build using ccache (by passing CXX=ccache clang++ as argument to configure). Otherwise you may experience nasty lags at runtime (yes, really, at runtime).