Regular expressions for VC6?

Hello Comunity,
i read about ATL Class Library that they habve an functions for regular expressions in VC6,
if this is true, where can i download this library, please post an link(url) for me!

With best regards
Mirsad



Answer this question

Regular expressions for VC6?

  • dataMonkey

    Hello,
    ok, i try to use this from boost, i search an download link for this package, but i dont find it on the page from boost!
    Any one knows from wich site i have to download it
    I try this site: http://www.boost.org/libs/regex/doc/index.html, but here is nothing to see!

    To move my project now to VC8 is not a good idea now, i finish my project soon, after them i can transport it to VC8.

    regards
    break;

    P.S. sorry, i fond it!!!

  • dwl

    With VC6 you are, as far as I can tell, best off using third party libraries such as Boost's Regex. Brian may be right about the C++ conformance breaking that library in more or less subtle ways, though.

  • FannwongCindy

    Thanx for answers,
    yes, i have VS8 installed and they have this files for regexp., but my project is in VS6 wit VC6 written, and i like to now hot to inplemented this libraries in VS6 projects

    regards
    break;

  • dbdog

    ATL has the CAtlRegExp class, defined in atlrx.h to support regular expressions. The VC6 version of ATL doesn't have it, VS2003 and VS2005 do. You can't download ATL, it is only available with a retail version.


  • Mansoor Shiraz

    I would say that there should be nothing in the ATL regexp classes that should be version specific; by this I mean that the code should be pretty generic and should be able to be compiled by Visual C++ 6.0. So you might try just cutting and pasting the regexp classes into the 6.0 project. Note: I would not try including the header files directly as that would risk mixing two different versions of ATL in the same project - this is a recipe for disaster.

    The one issue you might face with this approach (and it is a pretty big issue) is that I suspect like all regexp classes that are written in C++ the ATL regexp classes depend heavily on templates and the Visual C++ 6.0 compiler, as has been already mentioned, is pretty poor at handling templates.



  • Esp_99

    ATL should be one of the libraries installed with VC6. http://msdn2.microsoft.com/en-us/library/6w2611dd.aspx has an article on how to use the classes.

    If you find that ATL is not the thing for you, Boost Regex can be a good alternative. See http://www.boost.org/libs/regex/doc/index.html for more information on those.



  • LiamD

    Boost did target VC6. Checking the boost::regex history even shows that the newest version of that library takes VC6 into consideration.

    Another worrying remark about the regex lib, however:

    "There have been some reports of compiler-optimization bugs affecting this library, (particularly with VC6 versions prior to service patch 5) the workaround is to build the library using /Oityb1 rather than /O2. That is to use all optimization settings except /Oa. This problem is reported to affect some standard library code as well (in fact I'm not sure if the problem is with the regex code or the underlying standard library), so it's probably worthwhile applying this workaround in normal practice in any case."

    So, the sooner you get rid of VC6, the better.



  • markse

    If possible, I would move your code up to VC8. While this thread indicates that you have a more-or-less good chance of running Boost or ATL RegEx implementations against VC6, the level of confidence is not going to be as high, plus you're foregoing the tons of other benefits in using VC8.


  • Dee_dotnet_79

    Concerning Boost on VC6, this thread just came up: http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=703421&SiteID=1

    VC6 didn't use Boost as a test suite, and Boost probably never targeted VC6.

    Brian


  • Rockman Eugene

    Brian Kramer wrote:
    I wouldn't recommend taking the risk of trying boost ,where C++ conformance needs to be high, on VC6, where C++ conformance was pretty poor. Boost was one of the libraries that VC7.1/8.0 used to test its improved C++ conformance.

    I'd generally agree, but I can't remember having any trouble with the regex libraries mixed with VC6. In any case, Boost comes with extensive regression tests which should be able to approve (or trash) the usage.



  • zariusan

    I wouldn't recommend taking the risk of trying boost ,where C++ conformance needs to be high, on VC6, where C++ conformance was pretty poor. Boost was one of the libraries that VC7.1/8.0 used to test its improved C++ conformance.
  • Regular expressions for VC6?