You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2005 |
Jan
(14) |
Feb
(13) |
Mar
(4) |
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(9) |
Sep
(2) |
Oct
(1) |
Nov
|
Dec
|
2007 |
Jan
(6) |
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
From: Martin Q. <mar...@lo...> - 2006-07-13 19:58:30
|
Hello, about one hour after 1.5, here comes 1.5.1. It removes the dependency on the wget program to fetch some data we need during the tests, and distribute this file instead. Sorry for the noise, Mt. |
From: Martin Q. <mar...@lo...> - 2006-07-13 19:26:30
|
Hello, I just release FleXML version 1.5.=20 The main new feature is that it is now possible to specify the output files' names (for the scanner, header and application). Just pass the name you want as (optional) argument to the -S -H and -D option flags. For flag optional arguments to work, I had to move from Getopts::Std to Getopts::Long to parse the options. I hope I didn't break anything in the process, but please don't hesitate to report any problem which may arise. This version is also the occassion to release some bug fixes that William did a few months ago (I didn't notice them, or I would have done a dot release). Enjoy, Mt. |
From: Martin Q. <mar...@lo...> - 2006-03-21 17:12:27
|
Hello, we just released a new version today. We needed to have 2 flexml generated parsers in the same project. So we added a -P option working just like the flex one: it adds a prefix to the used symbol names. We also eradicated a few little bugs on the way while introducing a whole bunch of new, fresh ones. Enjoy, Mt. --=20 Better to have an approximate answer to the right question than a precise answer to the wrong question. -- John Tukey as quoted by John Chambers |
From: William F. D. <wil...@th...> - 2006-02-21 16:24:00
|
Hi Timm, I have run into this too, and looked at finding a solution a while ago. I will check what I did and let you know. Will On Fri, 2006-02-17 at 00:11 +0100, Timm Baumeister wrote: > Hello, > > the buffering of PCDATA is currently implemented with a fixed size char > array with the effect that for large PCDATA blocks the parser ends up in > an assertion. > > Would it be possible to have a call to a user defined function which > reports a chunk of PCDATA whenever a buffer overflow is going to occur > to free up the space? > > I was thinking of something like: > > #define BUFFERSET(P) (P = next) > #define BUFFERPUTC(C) (mycheck(next<limit), *(next++) = (C)) > #define BUFFERDONE (BUFFERPUTC('\0')) > > bool mycheck(bool b) { > if (!b) > { > char c = *next;*next='\0'; > PCDATA_CALLBACK(bufferstack); > next=bufferstack; > *(next++) = c > } > return true; > } > > and am wondering whether a reset of the buffer in the mid of a PCDATA > block might have any unforseen sideeffects concerning the parser. > > Thanks in advance for clarification > > Timm -- William F Dowling wil...@th... www.scientific.thomson.com |
From: Timm B. <bau...@zi...> - 2006-02-17 05:13:07
|
Hello, the buffering of PCDATA is currently implemented with a fixed size char array with the effect that for large PCDATA blocks the parser ends up in an assertion. Would it be possible to have a call to a user defined function which reports a chunk of PCDATA whenever a buffer overflow is going to occur to free up the space? I was thinking of something like: #define BUFFERSET(P) (P = next) #define BUFFERPUTC(C) (mycheck(next<limit), *(next++) = (C)) #define BUFFERDONE (BUFFERPUTC('\0')) bool mycheck(bool b) { if (!b) { char c = *next;*next='\0'; PCDATA_CALLBACK(bufferstack); next=bufferstack; *(next++) = c } return true; } and am wondering whether a reset of the buffer in the mid of a PCDATA block might have any unforseen sideeffects concerning the parser. Thanks in advance for clarification Timm |
From: William F. D. <wil...@th...> - 2005-04-15 16:14:04
|
On Sat, 2005-03-26 at 16:38 +0100, Martin Quinson wrote: > On Fri, Mar 25, 2005 at 03:44:23PM -0500, William F. Dowling wrote: > > Hi Martin, > > > > I have a question for you. Have you ever used xslt? What do you think > > of it? I am working on a presentation (sort of a sales pitch) for some > > people I work with, on flexml. Part of my talk will be a comparison > > with xslt. FWIW I did a comparison between flexml and xsltproc. The test was to extract the pcdata from a couple different elements. The DTD has ~ 100 elements, a similar total number of attributes, and (I don't have a specific measurement here) is not very complex -- generally simple content models. The "document" was 128MB; the root element in the DTD is <!ELEMENT db (header | issue | item | ref)+> and there are about 150K (header | issue | item | ref) elements in the test document. Two points: xsltproc was >200 times slower on my box for this task than what flexml gave; and the flexml-generated program was 20 times slower than an egrep scan. Re the latter point -- I suspect the problem is inherent in the flexml parse model. That *I assume* is LL(1), correct? Why else would I have had to increase my stack size to 20M (10M was not big enough for my file)? Is there an LR or LALR parser for XML out there? Will stats ----- # get a baseline -- scan the file with egrep to find authors egrep '<(primary)?author[^s]' /proj/data/WoS.2004000109 > xxx 0.38s user 0.38s system 93% cpu 0.814 total # use flexml-generated 'authors' program ./authors < /proj/data/WoS.2004000109 > xxx 7.15s user 0.85s system 93% cpu 8.521 total # use comparable xslt stylesheet xsltproc -o xxx testauth.xsl /proj/data/WoS.2004000109 1618.41s user 11.26s system 63% cpu 42:52.44 total # How big was that input, anyway? wc /proj/data/WoS.2004000109 3098636 10465719 128457959 /proj/data/WoS.2004000109 -- William F Dowling wil...@th... www.isinet.com |
From: Martin Q. <mar...@lo...> - 2005-04-06 12:20:26
|
Hello, I just released the version 1.3 of FleXML. Here is the changelog: flexml (1.3-1) unstable; urgency=low [William Dowling] (infrastructure) * Enhance main makefile to allow versionned installs * Various cleanups to the makefiles * Get a working "make test" (some of the tests themselves are still to be fixed) (generated parsers) * Don't allocate the statenames array over and over (plug memleak) * Try not to exaust the stack when possible [Ulrik Petersen] * Fix statenames array on terminaison (plug memleak) [Martin Quinson] (flexml.pl script) * Get paranoid on file open()/close(). (infrastructure) * Let FleXML.html be valid XHTML1.1 (so that it can be used in tests) * Install the paper as documentation (debian package) * Fix the doc-base file (Closes: #303220). -- Martin Quinson <mqu...@de...> Wed, 6 Apr 2005 12:27:04 +0200 You can find it on debian servers, or from the sourceforge download section: https://sourceforge.net/project/showfiles.php?group_id=34654 I hope you'll enjoy it, and please report all nasty bugs lowering your pleasure. Bye, Mt. |
From: Martin Q. <mar...@lo...> - 2005-04-06 12:07:13
|
I finally found some time to devote to the project. Your changes wrt to testing infrastructure work for me. And since I had a minor bug against the debian package (packaging issue), I decided to release 1.3 and move the development forward to 1.4 (or 1.3.1 if I did something wrong). I'll announce 1.3 right after this mail. Concerning the testing infrastructure, I think that the easiest could be to make SUFF=3D the default, and let people wanting to use SUFF=3D-$(ver) specifying it from the command line. Want do you think about it? Thanks again for your work,=20 Mt. On Mon, Mar 21, 2005 at 11:46:54AM -0500, William F. Dowling wrote: > It *should* have worked. The correct instructions are > make SUFF=3D ; cd examples; make SUFF=3D >=20 > I have checked in the files xhtml-{special,symbol,lat1}.ent so now the > test actually does work. Thanks for your patience. >=20 > Will >=20 > On Fri, 2005-03-18 at 17:15 -0500, William F. Dowling wrote: > > I have checked in changes so that > > make SUFF=3D ; cd examples; make > > should work (i.e. first three tests print "OK" and last two print out > > sensible results.) I'm still getting a ton of warnings, the whole test > > Makefile needs to be rethought, but at least now it is minimally > > working. > >=20 > > I'm not happy with the SUFF=3D bit being necessary for the tests to run. > > Let me know if you have problems with this. |
From: William F. D. <wil...@th...> - 2005-03-21 16:48:56
|
It *should* have worked. The correct instructions are make SUFF= ; cd examples; make SUFF= I have checked in the files xhtml-{special,symbol,lat1}.ent so now the test actually does work. Thanks for your patience. Will On Fri, 2005-03-18 at 17:15 -0500, William F. Dowling wrote: > I have checked in changes so that > make SUFF= ; cd examples; make > should work (i.e. first three tests print "OK" and last two print out > sensible results.) I'm still getting a ton of warnings, the whole test > Makefile needs to be rethought, but at least now it is minimally > working. > > I'm not happy with the SUFF= bit being necessary for the tests to run. > Let me know if you have problems with this. > > Will > > -- William F Dowling wil...@th... www.isinet.com |
From: William F. D. <wil...@th...> - 2005-03-18 22:15:29
|
I have checked in changes so that make SUFF= ; cd examples; make should work (i.e. first three tests print "OK" and last two print out sensible results.) I'm still getting a ton of warnings, the whole test Makefile needs to be rethought, but at least now it is minimally working. I'm not happy with the SUFF= bit being necessary for the tests to run. Let me know if you have problems with this. Will -- William F Dowling wil...@th... www.isinet.com |
From: William F. D. <wil...@th...> - 2005-03-18 19:44:03
|
On Sat, 2005-03-05 at 12:35 +0100, Martin Quinson wrote: > Hello, > > I'm completly lost here. I'm tweaking the makefile back and forth to try to > get it testing something, in vain. If you have any solution leading to even > a minimalist step forward, please commit it. I have the "joke" tests working from the Makefile (though not with debugging turned on, which for me causes a core dump in the print_yy_stack() function). But the larger test, which tries to parse FleXML.html using http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd is quite a failure. The problem is that when shack checked in changes to content of the the documentation in FleXML.html, the file became no longer XML. I will separate out the last revision of FleXML.html that was also XML, into a different file, and make sure the test uses that for input. I'm not quite ready to throw out examples/* and replace it with some real tests, but that is what needs to be done. Will -- William F Dowling wil...@th... www.isinet.com |
From: Martin Q. <mar...@lo...> - 2005-03-05 11:36:07
|
On Thu, Feb 24, 2005 at 03:42:20PM -0500, Dowling, Will (TS USA) wrote: > On Wed, 2005-02-23 at 18:17, Martin Quinson wrote: > > Hello, > >=20 > > make test fails on my box. Is it just me or the lastest changes to allow > > several versions to coexist broke it? [...] >=20 > I am seeing this: >=20 > $ make BASE_DIR=3D/tmp/foo test =20 > Testing... > make -C examples test > make[1]: Entering directory `/space1/proj-temp/flexml/flexml/examples' > Testing... > ../flexml.pl -vD -a my-show.act my.dtd > FleXML version Id: flexml.pl,v 1.44 2005/02/23 23:08:16 mquinson Exp. > Fetching URL <file:my.dtd>. > Processing DTD in my.dtd. > Post-processing DTD. > Writing XML application onto `my-show.c'. > Can't exec "./flexml-act": No such file or directory at ../flexml.pl > line 1527. > readline() on closed filehandle ACTIONS at ../flexml.pl line 1534. > ../flexml.pl: Cannot close pipe to flexml-act: Bad file descriptor > make[1]: *** [my-show.c] Error 9 > make[1]: Leaving directory `/space1/proj-temp/flexml/flexml/examples' > make: *** [test] Error 2 >=20 > I don't understand why this Makefile runs ../flexml.pl. We should be > testing what we just built, right? If that is so, replace all > "../flexml.pl" by "../$(FLEXML)" in examples/Makefile, and you get a lot > farther. =20 >=20 > The next place it fails is at >=20 > Fetching URL <file:xhtml-lat1.ent>. > "xhtml1-transitional.dtd", line 29: URL <file:xhtml-lat1.ent> could not > be fetched. > make[1]: *** [xhtml-href.c] Error 2 > make[1]: Leaving directory `/space1/proj-temp/flexml/flexml/examples' > make: *** [test] Error 2 >=20 > Are we missing a file xhtml-lat1.ent? >=20 > I don't know if it was the latest changes -- I don't normally run 'make > test' -- so I don't know when it started failing. >=20 > The good news is this: When I run my own tests (not the examples/ > directory), everything seems to be working. Hello, I'm completly lost here. I'm tweaking the makefile back and forth to try to get it testing something, in vain. If you have any solution leading to even a minimalist step forward, please commit it. I was even unable to do the basic step you describes. Ie, when changing all =2E./flexml-ml occurence, the message I get is not at all the one you give. I'm also puzzeled by the "MAIN PROGRAM" rules in example/Makefile. Do we build a specific version of flexml for testing (and if so, who calls it) or is this a leftover? I consider the lack of testing as a showstopper for the next release (I'd like to push out of the door since in brings some neat stuff such as stack consumtion reduction). Thanks for any help, Mt. |
From: Dowling, W. (TS USA) <wil...@th...> - 2005-02-24 20:44:21
|
On Wed, 2005-02-23 at 18:17, Martin Quinson wrote: > Hello, > > make test fails on my box. Is it just me or the lastest changes to allow > several versions to coexist broke it? [...] I am seeing this: $ make BASE_DIR=/tmp/foo test Testing... make -C examples test make[1]: Entering directory `/space1/proj-temp/flexml/flexml/examples' Testing... ../flexml.pl -vD -a my-show.act my.dtd FleXML version Id: flexml.pl,v 1.44 2005/02/23 23:08:16 mquinson Exp. Fetching URL <file:my.dtd>. Processing DTD in my.dtd. Post-processing DTD. Writing XML application onto `my-show.c'. Can't exec "./flexml-act": No such file or directory at ../flexml.pl line 1527. readline() on closed filehandle ACTIONS at ../flexml.pl line 1534. ../flexml.pl: Cannot close pipe to flexml-act: Bad file descriptor make[1]: *** [my-show.c] Error 9 make[1]: Leaving directory `/space1/proj-temp/flexml/flexml/examples' make: *** [test] Error 2 I don't understand why this Makefile runs ../flexml.pl. We should be testing what we just built, right? If that is so, replace all "../flexml.pl" by "../$(FLEXML)" in examples/Makefile, and you get a lot farther. The next place it fails is at Fetching URL <file:xhtml-lat1.ent>. "xhtml1-transitional.dtd", line 29: URL <file:xhtml-lat1.ent> could not be fetched. make[1]: *** [xhtml-href.c] Error 2 make[1]: Leaving directory `/space1/proj-temp/flexml/flexml/examples' make: *** [test] Error 2 Are we missing a file xhtml-lat1.ent? I don't know if it was the latest changes -- I don't normally run 'make test' -- so I don't know when it started failing. The good news is this: When I run my own tests (not the examples/ directory), everything seems to be working. -- William F. Dowling Thomson/ISI (www.thomsonisi.com) 215-386-0100 x-1156 ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ |
From: Martin Q. <mar...@lo...> - 2005-02-23 23:18:04
|
Hello, make test fails on my box. Is it just me or the lastest changes to allow several versions to coexist broke it? As usual, I barely understand what I see, and I may well be wrong. :) Thanks, Mt. |
From: Martin Q. <mar...@lo...> - 2005-02-23 22:03:03
|
On Wed, Feb 23, 2005 at 06:04:45PM +0000, William Dowling wrote: > Update of /cvsroot/flexml/flexml > In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6495 >=20 > Modified Files: > skel=20 > Log Message: > Fix memory leak reported in bug #1126171; thanks to Ulrik Petersen for pa= tch. > +static void cleanup(void) > +{ > + if (statenames) > + free(statenames); > +} I'd do a statenames =3D NULL afterward to make sure that it gets recreated = on need. But I may well be wrong... Bye, Mt. |
From: Martin Q. <mar...@im...> - 2005-02-15 20:35:14
|
On Tue, Feb 15, 2005 at 02:46:10PM -0500, William F. Dowling wrote: > I have commited the changes discussed. If you can think of a better way > to allow >1 version to exist on a system at one time, go ahead and back > these out and put that in. Also did a few stray Makefile cleanups. Looks good to me. If we define a variable=20 SUF :=3D -$(VER) and use it, and then I can do a regular install with=20 make install SUF=3D And then we should be both happy. I'll be offline for a few days, see you when I come back. Have a good one, Mt. PS: I'm on the list... |
From: William F. D. <wil...@th...> - 2005-02-15 19:46:30
|
I have commited the changes discussed. If you can think of a better way to allow >1 version to exist on a system at one time, go ahead and back these out and put that in. Also did a few stray Makefile cleanups. Thanks, Will -- William F. Dowling Thomson/ISI (www.thomsonisi.com) 215-386-0100 x-1156 ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ |
From: Martin Q. <mar...@im...> - 2005-02-15 17:01:23
|
On Tue, Feb 15, 2005 at 11:30:39AM -0500, Dowling, Will (TS USA) wrote: > On Mon, 2005-02-14 at 19:56, Martin Quinson wrote: > > On Mon, Feb 14, 2005 at 12:38:29PM -0500, Dowling, Will (TS USA) wrote: > > > I'd like to modify the Makefile a bit. The principle goal would be to > > > allow >1 version of flexml to exist on a system at the same time. [..= =2E] > >=20 > > I don't feel the need to add this by default to the code, but as an opt= ion, > > it would be welcome, I guess. Please make it a specific target of the > > Makefile so that it doesn't trouble the other targets. [...] > > You don't want to convert your ton of existing parsers right now, do yo= u ? hehe. >=20 > No parsers will have to be modified. I'm only talking about modifying > the installation location of various flexml components. The output from > 'make install' (setting the base directory to /tmp/foo) will be [snip] > Note /tmp/foo/bin/flexml still exists as a symlink to flexml-1.2. > flexml.pl will be changed to make sure it picks up the default skel file > from the new place where it was installed. Yeah, that's what I understood. I'm only faintly interested in this becoming the default mode of installation. If you manage to get it running as a specific make target (ideally, without duplicating too much code), you should commit it. You may even want to commit it anyway so that I can see i= t. If not, we will need the advice of something else (ie, I'm not a fan, but it's only my advice).=20 > I'd also like to pull out the common definitions in Makefile and > examples/Makefile into a single file Makefile.defs, then use > include Makefile.defs >=20 > Any objections? (Do non-gnu make programs handle "include"?) I don't think so, because if so, automake would use it more extensively.=20 But I'm not sure we care about really prehistoric make :) I'd say it's a go= od idea. My last modifications to the Makefile were mainly hacks to get it running quickly. Cleanup is really welcome. Thanks for your time,=20 Mt. |
From: Dowling, W. (TS USA) <wil...@th...> - 2005-02-15 16:31:07
|
On Mon, 2005-02-14 at 19:56, Martin Quinson wrote: > On Mon, Feb 14, 2005 at 12:38:29PM -0500, Dowling, Will (TS USA) wrote: > > I'd like to modify the Makefile a bit. The principle goal would be to > > allow >1 version of flexml to exist on a system at the same time. [...] > > I don't feel the need to add this by default to the code, but as an option, > it would be welcome, I guess. Please make it a specific target of the > Makefile so that it doesn't trouble the other targets. [...] > You don't want to convert your ton of existing parsers right now, do you ? hehe. No parsers will have to be modified. I'm only talking about modifying the installation location of various flexml components. The output from 'make install' (setting the base directory to /tmp/foo) will be mkdir -p /tmp/foo/bin /tmp/foo/lib \ /tmp/foo/share/man/man1 /tmp/foo/share/doc/flexml-1.2 \ /tmp/foo/share/flexml-1.2 \ /tmp/foo/share/doc/flexml-1.2/html \ /tmp/foo/share/doc/flexml-1.2/examples install -m555 flexml-1.2 /tmp/foo/bin/ install -m555 flexml-act-1.2 /tmp/foo/lib/ install -m444 skel /tmp/foo/share/flexml-1.2/ install -m444 flexml.1 /tmp/foo/share/man/man1/ install -m444 README NOTES TODO flexml-act.dtd EnlargeFlex.patch /tmp/foo/share/doc/flexml-1.2/ install -m444 FleXML.html /tmp/foo/share/doc/flexml-1.2/html/ rm -f /tmp/foo/bin/flexml ln -s /tmp/foo/bin/flexml-1.2 /tmp/foo/bin/flexml make -C examples install make[1]: Entering directory `/links/extern/src/flexml-1.2/examples' mkdir -p /tmp/foo/share/doc/flexml-1.2/flexml/examples install -m444 my.dtd my-show.act my-joke.xml my-joke2.xml my-joke3.xml tricky.dtd tricky.act tricky.xml test.html /tmp/foo/share/doc/flexml-1.2/flexml/examples/ Note /tmp/foo/bin/flexml still exists as a symlink to flexml-1.2. flexml.pl will be changed to make sure it picks up the default skel file from the new place where it was installed. I'd also like to pull out the common definitions in Makefile and examples/Makefile into a single file Makefile.defs, then use include Makefile.defs Any objections? (Do non-gnu make programs handle "include"?) Thanks, Will -- William F. Dowling Thomson/ISI (www.thomsonisi.com) 215-386-0100 x-1156 ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ |
From: William F. D. <wil...@th...> - 2005-02-15 15:48:29
|
On Tue, 2005-02-15 at 02:26, Martin Quinson wrote: > On Mon, Jan 24, 2005 at 05:06:27PM -0500, Dowling, William (Will) (TS USA) wrote: > > One limitation of the flexml-generated parser is that its prototype is > > fixed within flexml: > > int yylex() > > In order to pass in a parameter to the generated parser, I had to resort > > to a flex command line that contained this (I am generating C++ code, > > hence the class declaration) > > > > -PLinksXML \ > > -DYY_DECL='"class LinksAPIStart; static LinksAPIStart * > > private_Start_ptr; int LinksXMLlex(LinksAPIStart *LinksAPIStart_ptr)"' \ > > -DYY_USER_INIT='"private_Start_ptr=LinksAPIStart_ptr;"' > > > > This trick allows me to refer to the parameter passed into the parser > > (LinksAPIStart_ptr) using the name private_Start_ptr in my .act file. > > [...] > > [...] we also want to embeed several parsers in the same > code, and that I was thinking about implementing the -P flag to flexml. > > It does not look really related to your issue [...] I think it is somewhat related; -P allows you to change the name of the generated parser, as does modifying YY_DECL. (-P also privatizes other identifiers, which YY_DECL does not.) YY_DECL also allows you to change the signature (params and return type), which -P does not. This part of the design of flex is not as orthogonal as it could be. Maybe a YY_DECL (and other user-settable #defines) should be passed through from flexml into the generated flex input file? Will -- William F. Dowling Thomson/ISI (www.thomsonisi.com) 215-386-0100 x-1156 ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ |
From: Martin Q. <mar...@im...> - 2005-02-15 07:26:24
|
On Mon, Jan 24, 2005 at 05:06:27PM -0500, Dowling, William (Will) (TS USA) = wrote: > One limitation of the flexml-generated parser is that its prototype is > fixed within flexml: > int yylex() > In order to pass in a parameter to the generated parser, I had to resort > to a flex command line that contained this (I am generating C++ code, > hence the class declaration) >=20 > -PLinksXML \ > -DYY_DECL=3D'"class LinksAPIStart; static LinksAPIStart * > private_Start_ptr; int LinksXMLlex(LinksAPIStart *LinksAPIStart_ptr)"' \ > -DYY_USER_INIT=3D'"private_Start_ptr=3DLinksAPIStart_ptr;"' >=20 > This trick allows me to refer to the parameter passed into the parser > (LinksAPIStart_ptr) using the name private_Start_ptr in my .act file. >=20 > I sure would like a cleaner way to do this. Any ideas? It took me so long to answer because I'm really not sure to understand. What I can tell you is that we also want to embeed several parsers in the same code, and that I was thinking about implementing the -P flag to flexml. It does not look really related to your issue, now that I look more in detail to write this mail, does it? So I guess the answer is that I don't have any better idea ;) Sorry about that, Mt. |
From: Martin Q. <mar...@im...> - 2005-02-15 00:58:06
|
On Mon, Feb 14, 2005 at 12:38:29PM -0500, Dowling, Will (TS USA) wrote: > I'd like to modify the Makefile a bit. The principle goal would be to > allow >1 version of flexml to exist on a system at the same time. I > think this would require putting the 'skel' file in a directory with the > version embedded in the path, for example > /usr/share/flexml/1.2/skel >=20 > I would also have the installed executable be flexml-$(VER) and have a > symlink in $(BINDIR) from flexml to flexml-$(VER) (mimicking what debian > does with /etc/alternatives, but not requiring that.) >=20 > Perhaps one would do similarly with the documentation and examples. >=20 > What do people think about that?=20 I don't feel the need to add this by default to the code, but as an option, it would be welcome, I guess. Please make it a specific target of the Makefile so that it doesn't trouble the other targets. You don't want to convert your ton of existing parsers right now, do you ? = hehe. Thanks for your time, Mt. |
From: Dowling, W. (TS USA) <wil...@th...> - 2005-02-14 17:38:56
|
I'd like to modify the Makefile a bit. The principle goal would be to allow >1 version of flexml to exist on a system at the same time. I think this would require putting the 'skel' file in a directory with the version embedded in the path, for example /usr/share/flexml/1.2/skel I would also have the installed executable be flexml-$(VER) and have a symlink in $(BINDIR) from flexml to flexml-$(VER) (mimicking what debian does with /etc/alternatives, but not requiring that.) Perhaps one would do similarly with the documentation and examples. What do people think about that? Will -- William F. Dowling Thomson/ISI (www.thomsonisi.com) 215-386-0100 x-1156 ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________ |
From: Martin Q. <mar...@im...> - 2005-02-13 19:26:42
|
Ups, I forgot to announce the previous version to the list, sorry about that. Here are the changelogs: flexml (1.2-1) unstable; urgency=low [Martin Quinson] * Add a \n after the error messages when not using quiet_parsers * Clarify the licence of the produced parsers. Thanks to Ulrik Petersen for proposing the patch, and to Kristoffer H Rose for forwarding it. [Arnaud Legrand] * Add a -b option to modify the default FLEXML_BUFFERSTACKSIZE. That is useful when you get an error like "Assertion next<limit' failed". -- Martin Quinson <mqu...@de...> Sun, 13 Feb 2005 19:23:45 +0100 flexml (1.1-1) unstable; urgency=low The "back to life" version (hopefully). [Arnaud Legrand] * Fix a few bugs and make gcc happy. * Make flexml work with the current flex (closes: #192692, #192243). * Change the build-dep to flex and make lintian happy. [William Dowling] * Handle ']' at end of CDATA like: <![CDATA[val xxx]]]>; * Do not print to stderr: add primitive error message facility; [requests the user to pool for error messages with parse_err_msg()] * Allow multiple calls/multiple returns, so flexml-generated parsers can parse document sequences (>1 document in a stream); * Allow failure from all states (<*>) so flex scanner jammed does not occur. * Avoid using "new" as identifier since it breaks C++ [Martin Quinson] (upstream) * Let the user decide whether they want to keep the parser quiet and use the second feature introduced by William above (flag -q), or if they want to stick to the old behaviour (by default). * Let the dist target work (and don't add the debian/ dir since flexml should't be a native package) * Do not include the header if it wasn't generated (Closes: #62172) (debian package) * Put myself as maintainer. Thanks and kudos to Kristoffer for his work on this neat tool. * Switch from the deprecated dh_installmanpages to dh_installman * Conflict with flex-old now that Arnaud fixed the issues * Build-dep on flex * Remove EnlargeFlex.patch from the debian package since this is integrated in the stable version of flex (!) * recognize the encoding attribute of the XML tag (Closes: #62171) -- Martin Quinson <mqu...@de...> Thu, 10 Feb 2005 12:17:40 +0100 |
From: Martin Q. <mar...@im...> - 2005-02-10 12:19:55
|
Ok, I finally devoted some time to flexml. Sorry for the delay. On Tue, Jan 25, 2005 at 09:30:44AM -0500, William F. Dowling wrote: > On Tue, 2005-01-25 at 03:11, Martin Quinson wrote: >=20 > >=20 > > I was reading the changes by curiosity mainly, and I have some question= s. > > (plus an extra changelog entry: do not use the "new" identifier since it > > breaks in C++ ;) > >=20 > > +enum {flexml_max_err_msg_size =3D 512}; > >=20 > > Why is flexml_max_err_msg_size an enum and not a const int? I understand > > that it makes very little difference, but I would find the latter clean= er, > > wouldn't it? >=20 > Just a habit of coding style consistent with local (where I work) code > standard, historically arising from the need for the "enum hack" when > using older C++ compilers. See Scott Meyers on this quoted at > http://www.geocities.com/lgol27/CPlusPlus.htm. (That's an answer, not a > justification -- const int would be better. So feel free to change it if > you want.) I tried to change this, and had to revert the change since gcc complains about the flexml_err_msg array being dynamically sized. It should be a define, but defines are crude. > > Would it be possible to create some sort of option somewhere stating wh= ether > > we're going to display the errors as some as they appear (former behavi= our) > > or if we put them into this mecanism, expecting the user to pool it from > > there ? > >=20 > > Or, more precisely, do we want to do so (since I know how to do so ;)? >=20 > As an option it would be OK. My bias is toward writing library code, so > I would prefer if the default was silence (not writing to stderr). You > don't want your library writing to stderr -- that would make it less > general and harder to document. I added a -q option which goes to your direction, and left the default being the previous behaviour. I also fixed some long standing trivial bugs against the debian package. We now only have a bunch of open bugs on sourceforge. I closed two of them, but I unfortunately need some help for the remaining... Please people, have a look at https://sourceforge.net/tracker/?group_id=3D34654&atid=3D411869 and see if you can fix some of them... Thanks, Mt. |