• Show log

    Commit

  • Hash : ec6e3efb
    Author : Arne Becker
    Date : 2021-07-06T21:56:04

    Patch to forbid epsilon-reduction of final states
    
    When building the internal representation of a regexp, it is possible
    that a lot of empty transitions are created. Therefore there is a step
    to reduce them in the function xmlFAEliminateSimpleEpsilonTransitions.
    
    There is an error there for this case:
    
    * State 1 has a transition with an atom (in this case "a") to state 2.
    * State 2 is final and has an epsilon transition to state 1.
    
    After reduction it looked like:
    * State 1 has a transition with an atom (in this case "a") to itself
      and is final.
    
    In other words, the empty string is accepted when it shouldn't be.
    
    The attached patch skips the reduction step for final states.
    An alternative would be to insert or increment counters when reducing a
    final state, but this seemed error prone and unnecessary, since there
    aren't that many final states.
    
    Fixes #282
    

  • README

  •                   XML toolkit from the GNOME project
    
    Full documentation is available on-line at
        http://xmlsoft.org/
    
    This code is released under the MIT Licence see the Copyright file.
    
    To build on an Unixised setup:
       ./configure ; make ; make install
       if the ./configure file does not exist, run ./autogen.sh instead.
    To build on Windows:
       see instructions on win32/Readme.txt
    
    To assert build quality:
       on an Unixised setup:
          run make tests
       otherwise:
           There is 3 standalone tools runtest.c runsuite.c testapi.c, which
           should compile as part of the build or as any application would.
           Launch them from this directory to get results, runtest checks 
           the proper functioning of libxml2 main APIs while testapi does
           a full coverage check. Report failures to the list.
    
    To report bugs, follow the instructions at: 
      http://xmlsoft.org/bugs.html
    
    A mailing-list xml@gnome.org is available, to subscribe:
        http://mail.gnome.org/mailman/listinfo/xml
    
    The list archive is at:
        http://mail.gnome.org/archives/xml/
    
    All technical answers asked privately will be automatically answered on
    the list and archived for public access unless privacy is explicitly
    required and justified.
    
    Daniel Veillard
    
    $Id$