1. 19 Aug, 2019 2 commits
    • Paul Hervot's avatar
      tests: make the testsuite Python 3.7 compatible · 21d25cb7
      Paul Hervot authored
      In Python 3.7, the re module changes the name of its _pattern_type
      attribute to "Pattern", this patch handles both versions
      21d25cb7
    • Paul Hervot's avatar
      core/tuple-automaton: declare `indices` at namespace scope · dc90ec99
      Paul Hervot authored
      In C++14, static constexpr expressions that are odr-used must be
      declared in the compilation unit at namespace scope even if they are
      defined and assigned to in the class.
      
      The `indices` static constexpr attribute of tuple_automaton_impl was
      missing that namespace-level declaration, some compiler were fine with
      it, but clang 8 isn't, unless compiling with -O1 or higher.
      
      Fix #216
      dc90ec99
  2. 18 Aug, 2019 2 commits
  3. 09 May, 2018 3 commits
  4. 03 May, 2018 1 commit
  5. 02 May, 2018 5 commits
    • Akim Demaille's avatar
      proper: remove debug traces · 46a08daf
      Akim Demaille authored
      No visible performance changes.
      46a08daf
    • Akim Demaille's avatar
      tests: fix file names · 65c93b95
      Akim Demaille authored
      * tests/python/proper.dir/lan-poly.3.fail.gv,
      * tests/python/proper.dir/lao-r.in.gv: These are actually daut files.
      65c93b95
    • Akim Demaille's avatar
      edit-automaton: don't insert transitions with the special label · 10e61ad7
      Akim Demaille authored
      We parse in `lan, q`, we parse `<1/2>` as `<1/2>$`, not as `<1/2>\e`.
      This is to support pre- and post-transition labels (e.g., `$ 0 <1/2>`).
      Unfortunately it's easy, in particular with lao, to forget to write
      `\e`, and I have been bitten: I tried to get the weight-series
      
          context = lao, expressionset<lal, q>
          $ -> 0
          0 -> 1 <a>
          1 -> 1 <b>
          1 -> 2 <c>
          2 -> $
      
      But I got `<a+c>`.  The culprit was actually proper/is_proper: both
      consider that automaton to be proper.  And the real culprit is
      actually the user: there are indeed no spontaneous transitions in this
      automaton: they are labeled with `$` because we did not use `\e`.
      This error is too easy, so be sure to be kind to the user, and map the
      special label to one when building the automaton.
      
      It turns out that the test suite itself contained such an error: a
      proper automaton still had a pseudo-spontaneous transition.
      
      * vcsn/algos/edit-automaton.hh: Map $ to \e when adding an inner
      transition.
      * tests/python/proper.dir/lao-r.out.gv: Fix.
      10e61ad7
    • Akim Demaille's avatar
      edit-automaton: don't accept \e on pre-/post-transitions · 8b90f28f
      Akim Demaille authored
      * vcsn/algos/edit-automaton.hh: there is not reason to accept
      `$ 0 <1/2>\e`, spell it `$ 0 <1/2>`.
      8b90f28f
    • Akim Demaille's avatar
      style: add a few const and auto · ec15abbf
      Akim Demaille authored
      ec15abbf
  6. 01 May, 2018 12 commits
  7. 29 Mar, 2018 1 commit
  8. 28 Mar, 2018 3 commits
  9. 27 Mar, 2018 3 commits
  10. 25 Mar, 2018 6 commits
  11. 23 Mar, 2018 1 commit
  12. 22 Mar, 2018 1 commit
    • Akim Demaille's avatar
      Sms2fr: use xz · c6c0218c
      Akim Demaille authored
      Now that we support compressed efsm, let's compress the efsm
      files of sms2fr.  Not only will this save space, it should also
      help with sites that claim that Vcsn is 98.3% of shell-scripts...
      
      The results with Xz are impressive: graphemic.efsm is reduced to
      5% of its original size, and syntactic.efsm 12%.
      
          -rw-r--r--   1 akim  staff  93099091 21 mar 23:46 graphemic.efsm
          -rw-r--r--   1 akim  staff  11713613 21 mar 19:05 graphemic.efsm.bz2
          -rw-r--r--   1 akim  staff   5502716 21 mar 23:22 graphemic.efsm.xz
          -rw-r--r--   1 akim  staff  62289670 21 mar 23:46 syntactic.efsm
          -rw-r--r--   1 akim  staff  13055960 13 mar 19:44 syntactic.efsm.bz2
          -rw-r--r--   1 akim  staff   7916576 21 mar 23:24 syntactic.efsm.xz
      
      And Vcsn is now 68.8% C++, 20.6% Python and 3.5% shell-script!
      
      While at it:
      - use int not char for options
      - don't use references to keep the automata
      - don't force the format to efsm: let vcsn guess the format
      c6c0218c