TRE 0.8.0 Released

by Ville Laurikari on September 20, 2009

Download here. New in this release:

  • Added tre_ prefix to all functions exported from libtre. This changes the binary interface (ABI). The old source interface (API) is still available in <tre/regex.h>.  New code should use <tre/tre.h> which exports functions that have the prefix.
  • Visual C++ 6 project files replaced with Visual Studio 2008 files.
  • Bug fixes.

{ 83 trackbacks }

meritroyalbet
October 29, 2021 at 14:57
meritroyalbet
October 29, 2021 at 16:56
grandpashabet
October 29, 2021 at 21:58
grandpashabet
October 30, 2021 at 01:35
pasgol
October 30, 2021 at 01:46
grandpashabet
October 30, 2021 at 12:44
grandpashabet
October 30, 2021 at 13:05
grandpashabet
October 30, 2021 at 17:23
grandpashabet
October 30, 2021 at 17:24
grandpashabet
October 30, 2021 at 17:25
grandpashabet
October 30, 2021 at 20:31
süpertotobet
October 30, 2021 at 22:18
supertotobet
October 30, 2021 at 22:18
süpertotobet
October 30, 2021 at 22:19
süpertotobet
October 30, 2021 at 22:20
supertotobet
October 30, 2021 at 22:35
hilbet
October 31, 2021 at 10:48
hilbet
October 31, 2021 at 10:50
hilbet
October 31, 2021 at 10:50
gocasino
October 31, 2021 at 12:37
aspercasino
October 31, 2021 at 13:19
mostbet
October 31, 2021 at 15:52
biabet
October 31, 2021 at 15:53
biabet
October 31, 2021 at 15:54
biabet
October 31, 2021 at 15:54
mostbet
October 31, 2021 at 15:55
mostbet
October 31, 2021 at 18:49
slot siteleri
October 31, 2021 at 21:18
slot siteleri
October 31, 2021 at 21:18
slot siteleri
October 31, 2021 at 21:50
slot siteleri
October 31, 2021 at 22:15
slot siteleri
November 1, 2021 at 01:14
arzbet
November 1, 2021 at 03:21
arzbet
November 1, 2021 at 04:05
arzbet
November 1, 2021 at 05:50
arzbet
November 1, 2021 at 07:15
eurocasino
November 1, 2021 at 12:22
eurocasino
November 1, 2021 at 12:24
eurocasino
November 1, 2021 at 12:25
elexusbet
November 1, 2021 at 12:25
elexusbet
November 1, 2021 at 12:27
madridbet
November 1, 2021 at 18:19
kronosslot
November 1, 2021 at 18:19
kronosslot
November 1, 2021 at 20:00
casinovale
November 2, 2021 at 00:03
casinovale
November 2, 2021 at 00:04
casinovale
November 2, 2021 at 00:05
casinovale
November 2, 2021 at 02:52
aspercasino
November 2, 2021 at 12:33
biabet
November 2, 2021 at 18:16
biabet
November 3, 2021 at 12:40
aspercasino
November 5, 2021 at 00:45
aspercasino
November 5, 2021 at 04:26
betmatik
November 5, 2021 at 20:16
jestbahis
November 6, 2021 at 21:58
jestbahis
November 7, 2021 at 01:19
hilbet
November 8, 2021 at 14:39
meritroyalbet
November 8, 2021 at 14:43
megabahis
November 11, 2021 at 23:01
megabahis
November 12, 2021 at 23:17
megabahis
November 13, 2021 at 16:41
meritroyalbet
November 16, 2021 at 19:06
madridbet
November 16, 2021 at 19:54
meritroyalbet
November 17, 2021 at 14:12
makrobet
November 18, 2021 at 01:26
makrobet
November 18, 2021 at 12:27
slot siteleri
November 18, 2021 at 12:31
aspercasino
November 20, 2021 at 12:39
aspercasino
November 20, 2021 at 19:51
meritroyalbet
November 22, 2021 at 14:15
meritking
November 30, 2021 at 14:49
baymavi
December 5, 2021 at 00:53
meritroyalbet
December 17, 2021 at 13:28
meritking
December 18, 2021 at 10:41
child porn
December 22, 2021 at 14:12
child porn
December 29, 2021 at 17:51
madridbet
December 30, 2021 at 22:33
meritroyalbet
January 7, 2022 at 12:59
child porn
January 12, 2022 at 00:21
child porn
January 22, 2022 at 00:15
what pharmacy has sildenafil for the best price
January 23, 2022 at 16:54
perabet
January 24, 2022 at 13:13
meritking
February 6, 2022 at 20:39

{ 5941 comments }

1 Bang Jun-young October 2, 2009 at 14:03

Thanks for the work but what are actually included in the tarballs are Visual C++ 6 files.

2 Ville Laurikari October 2, 2009 at 14:10

Oh, drats. I forgot to update something and the old files still got into the packages. Thanks for letting me know!

I’ve now fixed this for the next release. Until then, you can download the project (.vcproj) and solution (.sln) files for Visual Studio 2008 from the darcs repository here.

3 GregK October 5, 2009 at 19:18

TRE is mentioned on Wikipedia, but the reference to LGPL is outdated now.
http://en.wikipedia.org/wiki/Agrep

4 Ville Laurikari October 7, 2009 at 21:19

Indeed. I went and updated the agrep page regarding TRE license.

5 Bang Jun-young November 10, 2009 at 03:34

Checked out the sources with command ‘darcs get –set-scripts-executable http://laurikari.net/tre/darcs/stable/‘ as described on the download page, but I still can’t find Visual Studio 2008 files there.

Downloading the files from the darcs web interface by clicking on the ‘plain’ link doesn’t work either. What I actually got were HTML-decorated text (< garbled with &lt\;) rather than plain text.

Downloading from the browser's view-source page doesn't work either. This time the server refuses to send data to the browser. :-(

6 Ville Laurikari December 2, 2009 at 12:45

Sorry about that, and sorry for the delay (your comment got caught in the spam filter). Now the darcs repo is properly updated.

I have no problems downloading files from the web interface.

7 Steve Teale January 29, 2010 at 12:57

I am trying to translate the non-fuzzy part of TRE into D. I noticed this:

tre_ctype_t tre_ctype(const char *name)
{
int i;
for (i = 0; tre_ctype_map[i].name != NULL; i++)
{
if (strcmp(name, tre_ctype_map[i].name) == 0)
return tre_ctype_map[i].func;
}
return (tre_ctype_t)0;
}

It is prototyped as returning a character type, but if name is found, it returns a pointer to a function. The parsing code behaves as if it returned a character (I think). Could you possibly explain?

Thanks Steve

8 Ville Laurikari March 12, 2010 at 14:46

Steve, you’ve run into a confusing hack of mine. Please accept my apologies.

In the normal case, tre_ctype() is just the same as the wctype() function from the C library. It returns a “character class” object. The counterpart of tre_ctype() is tre_isctype(), which takes a character and a character class object, and returns non-zero if the character is part of the character class. Normally tre_isctype() is the same as iswctype().

If the system does not have wctype() and iswctype(), TRE uses it’s own implementation. In this case, the character class object returned by tre_ctype() is actually a function which gets called by tre_isctype().

You can find the macros that control this in tre-internal.sh. Search for SYSTEM_WCTYPE.

9 Enno April 12, 2010 at 11:33

Hi Ville,
I tried to run the retest application in MS Visual Studio in debug mode … but it would not run because there was an error in the tre.vsproj configuration file that I loaded from darcs:
The additional link library (for project “tre”: properties/configuration properties/Linker/Input/Additional Dependencies) for debug configuration should be “mscvprtd.lib”.
After I added the “d” character to to library everything was ok!
Regrads, Enno.

10 Blaisorblade May 1, 2010 at 20:43

Hi, I’ve found a reference to your library here:
http://patrakov.blogspot.com/2009/09/matching-multiple-strings.html
in that article, it is compared (for a testcase of “(word1|word2|….|wordN)”) to a trie-based library and GNU glibc implementation.

While here I see a vastly opposite result:
http://hackerboss.com/is-your-regex-matcher-up-to-snuff/

Now, is this slowdown fixable in your library, at least for non-approximate matching? Do you think there’s a special case for such patterns (using a tree for them) or is the slowdown just a product of using NFA’s versus recursive backtracking*?

*I just read the article you quote on your blog:
Regular Expression Matching Can Be Simple And Fast by Russ Cox.

11 Julien July 7, 2010 at 20:09

First, thank you for this library, it is really useful.
I could not reach the mailing list through your website, it seems the link is dead. http://laurikari.net/mailman/listinfo/tre-general)

I have stumbled upon an unexpected behavior:

pattern: ‘1111$’
str: ‘1111′ cost 0
str: ‘1111 ‘ cost 1 (as expected)

pattern: ‘2004$’
str: ‘2004′ cost 0
str: ‘2004 ‘ cost 2 (strange?)

I used a fresh download and default normal compilation
http://laurikari.net/tre/tre-0.8.0.tar.bz2
./configure
and then python setup.py install
My platform is Ubuntu 10.04

Here is the python code:

import tre
fz = tre.Fuzzyness(maxerr=3)

for pattern in ['1111$', '2004$']:
pt = tre.compile(pattern, tre.EXTENDED)
print "pattern:", repr(pattern)

for test_str in ['1111','1111 ', '2004','2004 ']:
m = pt.search(test_str, fz)
if m:
print "str:", repr(test_str), "cost", m.cost

Is this a known issue and something that would be fixed?
Thanks again.
Julien

12 JM July 21, 2010 at 21:20

Looks like agrep currently fails on non-latin encodings. If the input file has a non-latin character then agrep just stops processing with no errors.

13 sang-suan gam May 3, 2011 at 10:30

Hi,

just downloaded the library for use on the command
(windows).

the logic queries (AND, OR) are not working ?

# agrep ‘FATAL’ report.20110408.txt
776 FATAL ERROR IN TWO-TASK SERVER: error = 12571
20 FATAL ERROR IN TWO-TASK SERVER: error = 12571
20 FATAL ERROR IN TWO-TASK SERVER: error = 12571
20 FATAL ERROR IN TWO-TASK SERVER: error = 12571
20 FATAL ERROR IN TWO-TASK SERVER: error = 12571
20 FATAL ERROR IN TWO-TASK SERVER: error = 12571
20 FATAL ERROR IN TWO-TASK SERVER: error = 12571
20 FATAL ERROR IN TWO-TASK SERVER: error = 12571
20 FATAL ERROR IN TWO-TASK SERVER: error = 12571
#
# agrep ‘FATAL;ERROR’ report.20110408.txt
# agrep ‘FATAL,ERROR’ report.20110408.txt

also, when i ran the command in a cygwin terminal,
there is a complain that delimiters should not be
empty strings ?

# agrep -d ‘$$’ ‘FATAL,ERROR’ report.20110408.txt
C:\GnuWin32\bin\agrep.exe: Record delimiter pattern must not match an empty string
#

are these features no longer supported ?

Thanks,
sam

14 Evgenyput August 24, 2021 at 20:21

удалите,пожалуйста! .

15 Evgenyfwr August 25, 2021 at 08:33

удалите,пожалуйста! .

16 Evgenyoiz August 27, 2021 at 19:22

удалите,пожалуйста! .

17 dyesyshem August 28, 2021 at 05:19

https://buystromectolon.com/ – what is ivermectin

18 Viagra August 28, 2021 at 09:30

Levitra Brand Online

19 Evgenymgd August 28, 2021 at 19:38

удалите,пожалуйста! .

20 Evgenyahd August 29, 2021 at 11:04

удалите,пожалуйста! .

21 turnartic August 30, 2021 at 03:15
22 Evgenyrvy August 30, 2021 at 20:46

удалите,пожалуйста! .

23 Evgenyrgv August 31, 2021 at 12:26

удалите,пожалуйста! .

24 Evgenyzks September 1, 2021 at 04:42

удалите,пожалуйста! .

25 veifuff September 6, 2021 at 01:35
26 gausiam September 6, 2021 at 04:01
27 Evgenyvbz September 6, 2021 at 05:20

удалите,пожалуйста! .

28 syloage September 6, 2021 at 05:37
29 Evgenyyns September 7, 2021 at 13:15

удалите,пожалуйста! .

30 orankagog September 7, 2021 at 21:43
31 how long does it take for propecia to work September 7, 2021 at 23:04

Kamagra Oral Jelly Recensione

32 Evgenynnw September 8, 2021 at 03:30

удалите,пожалуйста! .

33 Buy etodolac online September 8, 2021 at 04:55

I absolutely love your blog and find nearly all of your post’s to be precisely what
I’m looking for. Does one offer guest writers to write content to suit your
needs? I wouldn’t mind publishing a post or elaborating on a number
of the subjects you write regarding here. Again, awesome weblog!

34 Peterlue September 8, 2021 at 13:23

Delete,please! .

35 gussySype September 9, 2021 at 07:39
36 Cialis September 9, 2021 at 23:38

cialis a marseille

37 Peterwqf September 10, 2021 at 15:31

Delete,please! .

38 tereapalK September 11, 2021 at 05:45
39 Peterhwi September 11, 2021 at 09:58

Delete,please! .

40 buy stromectol 12mg September 11, 2021 at 13:51

Ceallas And Viag For Sale

41 Ahqlmzbc September 11, 2021 at 17:04
42 Bdmvqmgc September 11, 2021 at 21:52
43 Tabgtnja September 12, 2021 at 16:27
44 Lxndkkje September 12, 2021 at 20:10
45 Oahudtly September 12, 2021 at 22:31
46 Scedqczv September 13, 2021 at 00:21
47 Bpmfmfdh September 13, 2021 at 02:44
48 Джой Американка в русском балете September 13, 2021 at 05:36
49 Psypere September 15, 2021 at 13:17

http://buypriligyhop.com/ – buy priligy on the internet without a prescription

50 furosemide classification September 16, 2021 at 22:57

Purchase Prevacid Online

Comments on this entry are closed.

Previous post:

Next post: