You can subscribe to this list here.
2005 |
Jan
(4) |
Feb
(37) |
Mar
(7) |
Apr
(9) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
|
Feb
|
Mar
(12) |
Apr
(4) |
May
(1) |
Jun
(1) |
Jul
(18) |
Aug
(36) |
Sep
(15) |
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
(2) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
(3) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2013 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: William D. <wdo...@us...> - 2006-09-29 19:00:25
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv16195 Modified Files: Makefile Makefile.defs Log Message: Makefiles use INSTALL and MAKE variables, that play better with automatic build systems. Index: Makefile.defs =================================================================== RCS file: /cvsroot/flexml/flexml/Makefile.defs,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- Makefile.defs 15 Sep 2006 19:58:31 -0000 1.15 +++ Makefile.defs 29 Sep 2006 19:00:18 -0000 1.16 @@ -45,6 +45,8 @@ CFLAGS = -O2 -g #FLEXDEBUG = -d +INSTALL ?= install + # Web location. WEBHOME = info:public_html Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/Makefile,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- Makefile 18 Sep 2006 15:08:42 -0000 1.43 +++ Makefile 29 Sep 2006 19:00:17 -0000 1.44 @@ -52,17 +52,17 @@ $(DESTDIR)$(DATADIR) \ $(DESTDIR)$(DOCDIR)/html \ $(DESTDIR)$(DOCDIR)/examples - install -m555 $(BINS) $(DESTDIR)$(BINDIR)/ - install -m555 $(LIBS) $(DESTDIR)$(LIBDIR)/ - install -m444 $(DATA) $(DESTDIR)$(DATADIR)/ - install -m444 $(MANS) $(DESTDIR)$(MAN1DIR)/ - install -m444 $(DOCS) $(DESTDIR)$(DOCDIR)/ - install -m444 $(HTMLS) $(DESTDIR)$(DOCDIR)/html/ + $(INSTALL) -m555 $(BINS) $(DESTDIR)$(BINDIR)/ + $(INSTALL) -m555 $(LIBS) $(DESTDIR)$(LIBDIR)/ + $(INSTALL) -m444 $(DATA) $(DESTDIR)$(DATADIR)/ + $(INSTALL) -m444 $(MANS) $(DESTDIR)$(MAN1DIR)/ + $(INSTALL) -m444 $(DOCS) $(DESTDIR)$(DOCDIR)/ + $(INSTALL) -m444 $(HTMLS) $(DESTDIR)$(DOCDIR)/html/ if test "x$(SUFF)" != "x" ; then \ rm -f $(DESTDIR)$(BINDIR)/flexml; \ ln -s $(DESTDIR)$(BINDIR)/$(FLEXML) $(DESTDIR)$(BINDIR)/flexml;\ fi - make -C examples install + $(MAKE) -C examples install FLEXML_DISTDIR = $(FLEXML)-$(VER) dist: test clean @@ -131,9 +131,9 @@ # TESTS. -clean::; make -C examples $@; make -C testbed $@ -test::; make -C examples $@; \ - make -C testbed $@ > test.out 2>&1; ! grep '^fail' test.out && \ +clean::; $(MAKE) -C examples $@; $(MAKE) -C testbed $@ +test::; $(MAKE) -C examples $@; \ + $(MAKE) -C testbed $@ > test.out 2>&1; ! grep '^fail' test.out && \ echo "Tests succeeded." |
From: William D. <wdo...@us...> - 2006-09-22 16:04:04
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv28652 Added Files: ChangeLog Log Message: Initial revision. --- NEW FILE: ChangeLog --- 2006-09-22 William F. Dowling <wil...@th...> * Modified skel by adding '#include <stdlib.h>' to fix sourceforge bug #1563488. * This change log starts with flexml rev 1.7. |
From: William D. <wdo...@us...> - 2006-09-22 13:19:28
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv26787 Modified Files: skel Log Message: Fix sourceforge bug #1563488: compile error when using flex 2.5.4. Index: skel =================================================================== RCS file: /cvsroot/flexml/flexml/skel,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- skel 12 Sep 2006 18:05:45 -0000 1.38 +++ skel 22 Sep 2006 13:19:22 -0000 1.39 @@ -29,6 +29,7 @@ FLEXML_VERSION /* ANSI headers. */ +#include <stdlib.h> /* for realloc() -- needed here when using flex 2.5.4 */ #include <unistd.h> #include <stdio.h> #include <string.h> |
From: Martin Q. <mqu...@us...> - 2006-09-20 05:13:59
|
Update of /cvsroot/flexml/flexml/debian In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv17720/debian Modified Files: changelog Log Message: Will released this version as 1.7. Ok, then. Index: changelog =================================================================== RCS file: /cvsroot/flexml/flexml/debian/changelog,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- changelog 15 Sep 2006 22:45:01 -0000 1.31 +++ changelog 20 Sep 2006 05:13:55 -0000 1.32 @@ -1,4 +1,4 @@ -flexml (1.6-1) unstable; urgency=low +flexml (1.7-1) unstable; urgency=low [William Dowling] * Change the static buffstack into two dynamically allocated stacks. |
From: William D. <wdo...@us...> - 2006-09-18 15:08:51
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv12151 Modified Files: Makefile Log Message: 'make dist' should fail if any of the testbed tests fail. Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/Makefile,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- Makefile 23 Aug 2006 16:23:59 -0000 1.42 +++ Makefile 18 Sep 2006 15:08:42 -0000 1.43 @@ -65,7 +65,7 @@ make -C examples install FLEXML_DISTDIR = $(FLEXML)-$(VER) -dist: clean +dist: test clean @echo "Building distribution..." mkdir $(FLEXML_DISTDIR) cp $(STUFF) $(DATA) $(DOCS) $(HTMLS) flexml-act-bootstrap.c \ @@ -132,7 +132,10 @@ # TESTS. clean::; make -C examples $@; make -C testbed $@ -test::; make -C examples $@; make -C testbed $@ +test::; make -C examples $@; \ + make -C testbed $@ > test.out 2>&1; ! grep '^fail' test.out && \ + echo "Tests succeeded." + # END. |
From: Martin Q. <mqu...@us...> - 2006-09-15 22:45:19
|
Update of /cvsroot/flexml/flexml/debian In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv19618/debian Modified Files: changelog Log Message: The version we want to release is 1.6 Index: changelog =================================================================== RCS file: /cvsroot/flexml/flexml/debian/changelog,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- changelog 15 Sep 2006 19:58:31 -0000 1.30 +++ changelog 15 Sep 2006 22:45:01 -0000 1.31 @@ -1,16 +1,7 @@ -flexml (1.7-1) unstable; urgency=low - - * Fix 'multiple parsers' bug. - * Fix bug #1558023 'REQUIRED attributes not validated correctly'. - * Add -i command-line param to #include given file in output .l. - * Add regression test cases. - - -- William Dowling <wil...@th...> Fri, 15 Sep 2006 15:43:51 -0400 - flexml (1.6-1) unstable; urgency=low [William Dowling] - * Change the static buffstack into two dynamically allocated stacks. + * Change the static buffstack into two dynamically allocated stacks. This get rids of any stack size limitation; This also solves #1529930 (parsing mixed content fails on sparc/solaris, which were caused by misaligned pointers) @@ -19,9 +10,11 @@ * Fix a bufferstack memleak. This fixes both leaks of attributes and leaks of pcdata. People using large XML files shouldn't have to use insane buffsizes anymore. - * Add a proper regression testing infrastructure. + * Fix bug #1558023 'REQUIRED attributes not validated correctly'. + * Add -i command-line param to #include given file in output .l. + * Add a proper regression testing infrastructure and some test cases. - -- Martin Quinson <mqu...@de...> Tue, 22 Aug 2006 15:59:31 +0200 + -- Martin Quinson <mqu...@de...> Sat, 16 Sep 2006 00:44:05 +0200 flexml (1.5.3-1) unstable; urgency=low |
From: William D. <wdo...@us...> - 2006-09-15 19:58:34
|
Update of /cvsroot/flexml/flexml/debian In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv13887/debian Modified Files: changelog Log Message: Preparing for CVS tag (v1_7). Index: changelog =================================================================== RCS file: /cvsroot/flexml/flexml/debian/changelog,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- changelog 27 Aug 2006 19:25:39 -0000 1.29 +++ changelog 15 Sep 2006 19:58:31 -0000 1.30 @@ -1,3 +1,12 @@ +flexml (1.7-1) unstable; urgency=low + + * Fix 'multiple parsers' bug. + * Fix bug #1558023 'REQUIRED attributes not validated correctly'. + * Add -i command-line param to #include given file in output .l. + * Add regression test cases. + + -- William Dowling <wil...@th...> Fri, 15 Sep 2006 15:43:51 -0400 + flexml (1.6-1) unstable; urgency=low [William Dowling] |
From: William D. <wdo...@us...> - 2006-09-15 19:58:34
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv13887 Modified Files: Makefile.defs TODO Log Message: Preparing for CVS tag (v1_7). Index: Makefile.defs =================================================================== RCS file: /cvsroot/flexml/flexml/Makefile.defs,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- Makefile.defs 30 Aug 2006 14:39:29 -0000 1.14 +++ Makefile.defs 15 Sep 2006 19:58:31 -0000 1.15 @@ -6,7 +6,7 @@ #SUFF ?=-$(VER) SUFF ?= -VER = 1.6 +VER = 1.7 # SETUP. Index: TODO =================================================================== RCS file: /cvsroot/flexml/flexml/TODO,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- TODO 31 Aug 2006 17:53:25 -0000 1.2 +++ TODO 15 Sep 2006 19:58:31 -0000 1.3 @@ -1,5 +1,4 @@ -1. Allow user to put stuff (e.g. #define YY_INPUT ...) into - initial %{ ... %} section of output .l file. +1. -- this space intentionally left blank -- 2. Rework scanner to get rid of *all* flex dummy rule fallbacks. 3. ID type attributes should be validated for uniqueness. 4. IDREF and IDREFS attributes should be validated. |
From: William D. <wdo...@us...> - 2006-09-13 16:36:41
|
Update of /cvsroot/flexml/flexml/testbed In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv2669 Added Files: missing-att.stderr.expected missing-att.stdout.expected Log Message: Fix/test sourceforge bug #1558023: validation failing for missing #REQUIRED attributes. --- NEW FILE: missing-att.stdout.expected --- retval = 1 --- NEW FILE: missing-att.stderr.expected --- Invalid XML (state 13): Required attribute `batt' not set for `bar' element. |
From: William D. <wdo...@us...> - 2006-09-13 16:34:41
|
Update of /cvsroot/flexml/flexml/testbed In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv1795/testbed Modified Files: Makefile Added Files: missing-att.act missing-att.dtd missing-att.in Log Message: Fix/test sourceforge bug #1558023: validation failing for missing #REQUIRED attributes. --- NEW FILE: missing-att.dtd --- <!-- test mixed content elements with string sttributes --> <!ELEMENT foo (#PCDATA|bar)*> <!ELEMENT bar (#PCDATA)> <!ATTLIST bar batt CDATA #REQUIRED> Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/testbed/Makefile,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Makefile 12 Sep 2006 18:05:45 -0000 1.12 +++ Makefile 13 Sep 2006 16:34:33 -0000 1.13 @@ -39,14 +39,25 @@ # test definitions -- add new tests here ##################################################### -EXES = mixed1 mixed-enumatt mixed-enumatt2 mixed-stratt mixed-stratt-def \ - multi-parser-run biparser init_header +EXES = \ + biparser \ + init_header \ + missing-att \ + mixed-enumatt \ + mixed-enumatt2 \ + mixed-stratt \ + mixed-stratt-def \ + mixed1 \ + multi-parser-run + + INTERMEDIATES = $(EXES) $(EXES:%=%.c) $(EXES:%=%.l) # leave this alphabetically sorted for easy scanning UNIT_TESTS = \ test_biparser \ test_init_header \ + test_missing-att \ test_mixed-enumatt \ test_mixed-enumatt2 \ test_mixed-stratt \ @@ -60,6 +71,10 @@ test_init_header_cmd = ./init_header < init_header.in test_init_header_deps = init_header init_header.in +# Test missing REQUIRED attribute +test_missing-att_cmd = ./missing-att < missing-att.in +test_missing-att_deps = missing-att missing-att.in + # Test mixed1 test_mixed1_cmd = ./mixed1 < mixed1.in test_mixed1_deps = mixed1 mixed1.in --- NEW FILE: missing-att.act --- <!DOCTYPE actions SYSTEM "flexml-act.dtd"> <actions> <top><![CDATA[ #include <stdio.h> ]]></top> <start tag='bar'><![CDATA[ printf("bar att: %s\n", {batt}); ]]></start> <end tag='bar'><![CDATA[ printf("bar pcdata: %s\n", {#PCDATA}); ]]></end> <end tag='foo'><![CDATA[ printf("foo pcdata: %s\n", {#PCDATA}); ]]></end> <main><![CDATA[ int main(int argc, char **argv) { int retval = yylex(); printf("retval = %d\n", retval); return retval; } ]]></main> </actions> --- NEW FILE: missing-att.in --- <!DOCTYPE foo SYSTEM "missing-att.dtd"> <foo>012<bar>456789ab</bar>cdefghijklmn</foo> |
From: William D. <wdo...@us...> - 2006-09-13 16:34:36
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv1795 Modified Files: flexml.pl Log Message: Fix/test sourceforge bug #1558023: validation failing for missing #REQUIRED attributes. Index: flexml.pl =================================================================== RCS file: /cvsroot/flexml/flexml/flexml.pl,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- flexml.pl 12 Sep 2006 18:05:45 -0000 1.60 +++ flexml.pl 13 Sep 2006 16:34:33 -0000 1.61 @@ -1455,7 +1455,7 @@ print " \">\" {\n"; for my $attribute (@myattributes) { if ($required{"$tag/$attribute"}) { - print " if (!A_${tagprefix}$ctag{$tag}_" . variablify($attribute) . ")" + print " if (!AX_${tagprefix}$ctag{$tag}_" . variablify($attribute) . ")" . " FAIL(\"Required attribute `$attribute' not set for `$tag' element.\");\n"; } } @@ -1470,7 +1470,7 @@ print " \"/>\" {\n"; for my $attribute (@myattributes) { if ($required{"$tag/$attribute"}) { - print " if (!A_${tagprefix}$ctag{$tag}_" . variablify($attribute) . ")" + print " if (!AX_${tagprefix}$ctag{$tag}_" . variablify($attribute) . ")" . " FAIL(\"Required attribute `$attribute' not set for `$tag' element.\");\n"; } } |
From: William D. <wdo...@us...> - 2006-09-12 18:05:50
|
Update of /cvsroot/flexml/flexml/testbed In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30895/testbed Modified Files: Makefile Added Files: init_header.act init_header.dtd init_header.h init_header.in init_header.stdout.expected Log Message: Add code and tests that allow a user to specify a header file on the flexml command line, using -h, to be included in the %{...%} section of the generated .l file. Closes sourceforge bug #1526054. --- NEW FILE: init_header.dtd --- <!ELEMENT foo (#PCDATA|bar)*> <!ELEMENT bar (#PCDATA)> <!-- <!ATTLIST bar batt CDATA #REQUIRED> --> --- NEW FILE: init_header.h --- /* header file to be included at end of generated %{ ... %} section */ #define YY_DECL static int static_lexer_param; int lexer(int lexer_param) #define YY_USER_INIT static_lexer_param = lexer_param; --- NEW FILE: init_header.in --- <!DOCTYPE foo SYSTEM "init_header.dtd"> <foo>012<bar>456789ab</bar>cdefghijklmn</foo> Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/testbed/Makefile,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- Makefile 30 Aug 2006 14:37:02 -0000 1.11 +++ Makefile 12 Sep 2006 18:05:45 -0000 1.12 @@ -40,20 +40,26 @@ ##################################################### EXES = mixed1 mixed-enumatt mixed-enumatt2 mixed-stratt mixed-stratt-def \ - multi-parser-run biparser + multi-parser-run biparser init_header INTERMEDIATES = $(EXES) $(EXES:%=%.c) $(EXES:%=%.l) +# leave this alphabetically sorted for easy scanning UNIT_TESTS = \ - test_mixed1 \ + test_biparser \ + test_init_header \ test_mixed-enumatt \ test_mixed-enumatt2 \ test_mixed-stratt \ test_mixed-stratt-def \ - test_multi-parser-run \ - test_biparser + test_mixed1 \ + test_multi-parser-run test : $(UNIT_TESTS) +# Test init_header +test_init_header_cmd = ./init_header < init_header.in +test_init_header_deps = init_header init_header.in + # Test mixed1 test_mixed1_cmd = ./mixed1 < mixed1.in test_mixed1_deps = mixed1 mixed1.in @@ -94,6 +100,11 @@ CLEANFILES+= biparser-one.h biparser-one.l biparser-one.c \ biparser-two.h biparser-two.l biparser-two.c +init_header : init_header.act init_header.dtd init_header.h + $(FLEXML) -b 1000 -A -i$@.h -a$@.act $@.dtd + $(FLEX) -s -L -o$@.c $@.l + $(CC) $(CFLAGS) -o $@ $@.c + % : %.dtd %.act $(FLEXML) -b 1000 -A -a$@.act $@.dtd $(FLEX) -s -L -o$@.c $@.l --- NEW FILE: init_header.stdout.expected --- bar pcdata: 456789ab foo pcdata: 012cdefghijklmn param was 7 retval = 0 --- NEW FILE: init_header.act --- <!DOCTYPE actions SYSTEM "flexml-act.dtd"> <actions> <top><![CDATA[ #include <stdio.h> ]]></top> <end tag='bar'><![CDATA[ printf("bar pcdata: %s\n", {#PCDATA}); ]]></end> <end tag='foo'><![CDATA[ printf("foo pcdata: %s\nparam was %d\n", {#PCDATA}, static_lexer_param); ]]></end> <main><![CDATA[ int main(int argc, char **argv) { int retval = lexer(7); printf("retval = %d\n", retval); return retval; } ]]></main> </actions> |
From: William D. <wdo...@us...> - 2006-09-12 18:05:49
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv30895 Modified Files: flexml.pl skel Log Message: Add code and tests that allow a user to specify a header file on the flexml command line, using -h, to be included in the %{...%} section of the generated .l file. Closes sourceforge bug #1526054. Index: skel =================================================================== RCS file: /cvsroot/flexml/flexml/skel,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- skel 29 Aug 2006 21:54:37 -0000 1.37 +++ skel 12 Sep 2006 18:05:45 -0000 1.38 @@ -153,6 +153,9 @@ #define ENTITYTEXT(T) \ { char *s = (T), *e = s+strlen(s);\ while (--e >= s) { unput(*e); }} + +FLEXML_INCLUDE_INIT_HEADER + %} /* Flex standard options. */ Index: flexml.pl =================================================================== RCS file: /cvsroot/flexml/flexml/flexml.pl,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- flexml.pl 30 Aug 2006 14:37:02 -0000 1.59 +++ flexml.pl 12 Sep 2006 18:05:45 -0000 1.60 @@ -59,6 +59,7 @@ my $stacksize=100000; # -b option flag my $tagprefix=""; # -P option flag my $actbin="./flexml-act"; # -T option content +my $init_header=""; # -i option string my $header; # -H option flag/content my $dummy; # -D option flag/content @@ -519,8 +520,9 @@ # Parse options. -$Use = "Usage: flexml [-ASHDvdqnLXV] [-s skel] [-T actbin] [--sysid sysid] [-p pubid] [-u uri]\n" - . " [-b stack_increment] [-r roottags] [-a actions] [-P prefix] name[.dtd]"; +$Use = "Usage: flexml [-ASHDvdqnLXV] [-s skel] [-T actbin] [--sysid sysid] " + . "[-p pubid] [-u uri] [-i init_header]\n" + . " [-b stack_increment] [-r roottags] [-a actions] [-P prefix] name[.dtd]"; sub show_version { @@ -571,6 +573,9 @@ "pubid|p=s" => \$pubid, "sysid=s" => \$sysid, + # name of header file to be included in initial section of generated .l file + "init_header|i=s" => \$init_header, + # What to generate "header|H:s" => sub { $header = $_[1] || 'true' }, "dummy|D:s" => sub { $dummy = $_[1] || 'true' }, @@ -1257,6 +1262,13 @@ } } + elsif ( /^FLEXML_INCLUDE_INIT_HEADER$/ ) { + if ($init_header) { + print "/* User-supplied header */\n"; + print "#include \"$init_header\"\n"; + } + } + elsif ( /^FLEXML_FLEX_OPTIONS$/ ) { print "%option yylineno\n" if $lineno; @@ -1738,6 +1750,7 @@ [B<-ASHDvdnLXV>] [B<-s>I<skel>] [B<-p>I<pubid>] +[B<-i>I<init_header>] [B<-u>I<uri>] [B<-r>I<rootags>] [B<-a>I<actions>] @@ -1839,6 +1852,12 @@ Sets the document type to be C<PUBLIC> with the identifier I<pubid> instead of C<SYSTEM>, the default. +=item B<--init_header> I<init_header>, B<-i> I<init_header> + +Puts a line containing C<#include "init_header"> in the C<%{...%}> section +at the top of the generated .l file. This may be useful for making various +flex C<#define>s, for example C<YY_INPUT> or C<YY_DECL>. + =item B<--sysid>=I<sysid> Overrides the C<SYSTEM> id of the accepted DTD. Sometimes usefull when your |
From: William D. <wdo...@us...> - 2006-08-31 17:53:29
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv22404 Modified Files: TODO Log Message: Update list to reflect recent changes and change requests. Index: TODO =================================================================== RCS file: /cvsroot/flexml/flexml/TODO,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- TODO 30 Aug 2001 00:36:10 -0000 1.1 +++ TODO 31 Aug 2006 17:53:25 -0000 1.2 @@ -1,7 +1,8 @@ -1. Make text buffer dynamically allocated. +1. Allow user to put stuff (e.g. #define YY_INPUT ...) into + initial %{ ... %} section of output .l file. 2. Rework scanner to get rid of *all* flex dummy rule fallbacks. 3. ID type attributes should be validated for uniqueness. 4. IDREF and IDREFS attributes should be validated. -5. ENTITY and ENTITIES attribute types should be supported. +5. ENTITY and ENTITIES attribute types should be validated. 6. The xml:spaces pragma attrbute should be supported. -7. Make the pcdata buffer act more like a traditional parser stack. + |
From: William D. <wdo...@us...> - 2006-08-30 14:39:32
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv12956 Modified Files: Makefile.defs Log Message: Restore from rev 1.12 Index: Makefile.defs =================================================================== RCS file: /cvsroot/flexml/flexml/Makefile.defs,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- Makefile.defs 30 Aug 2006 14:37:02 -0000 1.13 +++ Makefile.defs 30 Aug 2006 14:39:29 -0000 1.14 @@ -14,8 +14,7 @@ # BASE_DIR: like --prefix for configure # BASE_DIR_ARCH: like --exec-prefix for configure -#BASE_DIR ?= /usr -BASE_DIR ?= /proj/flexml/flexml/dist +BASE_DIR ?= /usr BASE_DIR_ARCH ?= $(BASE_DIR) FLEXML= flexml$(SUFF) |
From: William D. <wdo...@us...> - 2006-08-30 14:37:08
|
Update of /cvsroot/flexml/flexml/testbed In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv11873/testbed Modified Files: Makefile multi-parser-run.stdout.expected Log Message: Fix bug causing multi-parser test failure (multiple runs of the parser need to reset [ib]next.) Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/testbed/Makefile,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- Makefile 29 Aug 2006 23:25:13 -0000 1.10 +++ Makefile 30 Aug 2006 14:37:02 -0000 1.11 @@ -48,7 +48,7 @@ test_mixed-enumatt \ test_mixed-enumatt2 \ test_mixed-stratt \ - test_mixed-stratt-def \ + test_mixed-stratt-def \ test_multi-parser-run \ test_biparser Index: multi-parser-run.stdout.expected =================================================================== RCS file: /cvsroot/flexml/flexml/testbed/multi-parser-run.stdout.expected,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- multi-parser-run.stdout.expected 29 Aug 2006 21:46:05 -0000 1.1 +++ multi-parser-run.stdout.expected 30 Aug 2006 14:37:02 -0000 1.2 @@ -7,4 +7,3 @@ Run 2 foo attributes name='toto' toz='0.0' gaz='0.0' bar attributes name='tutu' - |
From: William D. <wdo...@us...> - 2006-08-30 14:37:07
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv11873 Modified Files: Makefile.defs flexml.pl Log Message: Fix bug causing multi-parser test failure (multiple runs of the parser need to reset [ib]next.) Index: Makefile.defs =================================================================== RCS file: /cvsroot/flexml/flexml/Makefile.defs,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- Makefile.defs 22 Aug 2006 14:00:37 -0000 1.12 +++ Makefile.defs 30 Aug 2006 14:37:02 -0000 1.13 @@ -14,7 +14,8 @@ # BASE_DIR: like --prefix for configure # BASE_DIR_ARCH: like --exec-prefix for configure -BASE_DIR ?= /usr +#BASE_DIR ?= /usr +BASE_DIR ?= /proj/flexml/flexml/dist BASE_DIR_ARCH ?= $(BASE_DIR) FLEXML= flexml$(SUFF) Index: flexml.pl =================================================================== RCS file: /cvsroot/flexml/flexml/flexml.pl,v retrieving revision 1.58 retrieving revision 1.59 diff -u -d -r1.58 -r1.59 --- flexml.pl 29 Aug 2006 14:14:40 -0000 1.58 +++ flexml.pl 30 Aug 2006 14:37:02 -0000 1.59 @@ -1287,6 +1287,7 @@ my ($state, $tag); print " /* FleXML_init */\n"; + print " bnext = inext = 1;\n"; for my $att (@default_attributes) { print " ${tagprefix}bufferliteral('\\0', &bnext, \"$att\");\n"; } |
Update of /cvsroot/flexml/flexml/testbed In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv869 Modified Files: Makefile Added Files: biparser-one.dtd biparser-one.in biparser-two.dtd biparser-two.in biparser.precious.c biparser.stdout.expected Log Message: A crude example of program having two parsers embeeded. It does not use action files, but directly define tag handling function (along with several other crudness I fail to solve right now) --- NEW FILE: biparser.precious.c --- #include <stdio.h> #include "biparser-one.h" #include "biparser-two.h" /* XML application entry points. Should be generated from two action files, but I wasn't succesfull in that area yet [Mt] */ void STag_one_foo(void) {} void ETag_one_foo(void) {printf("foo pcdata: %s\n", one_pcdata);} void STag_one_bar(void) {} void ETag_one_bar(void) {printf("bar pcdata: %s\n", one_pcdata);} void STag_two_toto(void) {} void ETag_two_toto(void) {printf("toto pcdata: %s\n", two_pcdata);} void STag_two_tutu(void) {} void ETag_two_tutu(void) {printf("tutu pcdata: %s\n", two_pcdata);} /* Parsers control. Should probably be added to the .h */ #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif extern int one_lex (void); extern void one_restart (FILE *input_file ); extern void one__switch_to_buffer (YY_BUFFER_STATE new_buffer ); YY_BUFFER_STATE one__create_buffer (FILE *file,int size ); extern void one__delete_buffer (YY_BUFFER_STATE b ); extern void one__flush_buffer (YY_BUFFER_STATE b ); extern void one_push_buffer_state (YY_BUFFER_STATE new_buffer ); extern void one_pop_buffer_state (void ); extern int two_lex (void); extern void two_restart (FILE *input_file ); extern void two__switch_to_buffer (YY_BUFFER_STATE new_buffer ); extern YY_BUFFER_STATE two__create_buffer (FILE *file,int size ); extern void two__delete_buffer (YY_BUFFER_STATE b ); extern void two__flush_buffer (YY_BUFFER_STATE b ); extern void two_push_buffer_state (YY_BUFFER_STATE new_buffer ); extern void two_pop_buffer_state (void ); int main(int argc, char **argv) { FILE *infile; YY_BUFFER_STATE buff; int retval; printf("Parse biparser-one.in\n"); infile=fopen("biparser-one.in","r"); buff=one__create_buffer(infile,10); one__switch_to_buffer(buff); retval = one_lex(); one__delete_buffer(buff); fclose(infile); printf("Parse biparser-two.in\n"); infile=fopen("biparser-two.in","r"); buff=two__create_buffer(infile,10); two__switch_to_buffer(buff); retval = two_lex() || retval; two__delete_buffer(buff); fclose(infile); return retval; } --- NEW FILE: biparser-one.in --- <!DOCTYPE foo SYSTEM "biparser-one.dtd"> <foo>012<bar>456789ab</bar>cdefghijklmn</foo> --- NEW FILE: biparser-two.dtd --- <!ELEMENT toto (#PCDATA|tutu)*> <!ELEMENT tutu (#PCDATA)> Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/testbed/Makefile,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- Makefile 29 Aug 2006 21:49:04 -0000 1.9 +++ Makefile 29 Aug 2006 23:25:13 -0000 1.10 @@ -39,7 +39,8 @@ # test definitions -- add new tests here ##################################################### -EXES = mixed1 mixed-enumatt mixed-enumatt2 mixed-stratt mixed-stratt-def multi-parser-run +EXES = mixed1 mixed-enumatt mixed-enumatt2 mixed-stratt mixed-stratt-def \ + multi-parser-run biparser INTERMEDIATES = $(EXES) $(EXES:%=%.c) $(EXES:%=%.l) UNIT_TESTS = \ @@ -48,7 +49,8 @@ test_mixed-enumatt2 \ test_mixed-stratt \ test_mixed-stratt-def \ - test_multi-parser-run + test_multi-parser-run \ + test_biparser test : $(UNIT_TESTS) @@ -76,6 +78,22 @@ test_multi-parser-run_cmd = ./multi-parser-run multi-parser-run.in test_multi-parser-run_deps = multi-parser-run multi-parser-run.in +# Test biparser (Have two parsers in the same code) +test_biparser_cmd = ./biparser biparser-one.in biparser-two.in +test_biparser_deps = biparser biparser-one.in biparser-two.in + +biparser: biparser-one.dtd biparser-two.dtd biparser.precious.c + for n in one two ; do \ + $(FLEXML) -P$$n -H biparser-$$n.h -L biparser-$$n.dtd; \ + $(FLEXML) -P$$n -S biparser-$$n.l -L biparser-$$n.dtd; \ + $(FLEX) -s -L -P$${n}_ -obiparser-$$n.c biparser-$$n.l; \ + done + $(CC) $(CFLAGS) -o biparser \ + biparser-one.c biparser-two.c \ + biparser.precious.c +CLEANFILES+= biparser-one.h biparser-one.l biparser-one.c \ + biparser-two.h biparser-two.l biparser-two.c + % : %.dtd %.act $(FLEXML) -b 1000 -A -a$@.act $@.dtd $(FLEX) -s -L -o$@.c $@.l @@ -96,7 +114,7 @@ ##################################################### clean : - rm -f $(TEST_INTERMEDIATES) $(INTERMEDIATES) + rm -f $(TEST_INTERMEDIATES) $(INTERMEDIATES) $(CLEANFILES) # When we are building test_foo, the variable $(TEST_BASE) is "foo" test_% : TEST_BASE = $(@:test_%=%) --- NEW FILE: biparser.stdout.expected --- Parse biparser-one.in bar pcdata: 456789ab foo pcdata: 012cdefghijklmn Parse biparser-two.in tutu pcdata: 456789ab toto pcdata: 012cdefghijklmn --- NEW FILE: biparser-two.in --- <!DOCTYPE toto SYSTEM "biparser-two.dtd"> <toto>012<tutu>456789ab</tutu>cdefghijklmn</toto> --- NEW FILE: biparser-one.dtd --- <!ELEMENT foo (#PCDATA|bar)*> <!ELEMENT bar (#PCDATA)> |
From: Martin Q. <mqu...@us...> - 2006-08-29 21:54:40
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv29578 Modified Files: skel Log Message: Cleanup the const-ness of our data Index: skel =================================================================== RCS file: /cvsroot/flexml/flexml/skel,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- skel 27 Aug 2006 20:46:36 -0000 1.36 +++ skel 29 Aug 2006 21:54:37 -0000 1.37 @@ -125,7 +125,7 @@ #ifdef FLEXML_NEED_BUFFERLIT static void bufferliteral(char c, int* pp, const char* text) { - char *s = (c ? strchr(text,c) : (char*)text-1), *e = strrchr(text,c); + const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c); assert(s <= e); BUFFERSET(*pp); while (++s<e) { if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; } |
From: Martin Q. <mqu...@us...> - 2006-08-29 21:49:11
|
Update of /cvsroot/flexml/flexml/testbed In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv27369 Modified Files: Makefile Log Message: Fight against directory polution by improving the clean target (not perfect yet) Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/testbed/Makefile,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Makefile 29 Aug 2006 21:46:05 -0000 1.8 +++ Makefile 29 Aug 2006 21:49:04 -0000 1.9 @@ -39,7 +39,7 @@ # test definitions -- add new tests here ##################################################### -EXES = mixed1 mixed-enumatt mixed-stratt mixed-stratt-def multi-parser-run +EXES = mixed1 mixed-enumatt mixed-enumatt2 mixed-stratt mixed-stratt-def multi-parser-run INTERMEDIATES = $(EXES) $(EXES:%=%.c) $(EXES:%=%.l) UNIT_TESTS = \ |
From: Martin Q. <mqu...@us...> - 2006-08-29 21:46:11
|
Update of /cvsroot/flexml/flexml/testbed In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv25918 Modified Files: Makefile Added Files: multi-parser-run.act multi-parser-run.dtd multi-parser-run.in multi-parser-run.stdout.expected Log Message: A new test trying to run the same parser three times on 'different' inputs. If currently fails since recent changes induced some problems I fail to understand wrt default attribute values --- NEW FILE: multi-parser-run.dtd --- <!ELEMENT foo (bar)*> <!ATTLIST foo name CDATA #REQUIRED> <!ATTLIST foo toz CDATA "0.0"> <!ATTLIST foo gaz CDATA "0.0"> <!ELEMENT bar EMPTY> <!ATTLIST bar name CDATA #REQUIRED> --- NEW FILE: multi-parser-run.in --- <!DOCTYPE foo SYSTEM "multi-parser-run.dtd"> <foo name="toto"><bar name="tutu"/> </foo> Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/testbed/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile 29 Aug 2006 14:14:40 -0000 1.7 +++ Makefile 29 Aug 2006 21:46:05 -0000 1.8 @@ -39,7 +39,7 @@ # test definitions -- add new tests here ##################################################### -EXES = mixed1 mixed-enumatt mixed-stratt mixed-stratt-def +EXES = mixed1 mixed-enumatt mixed-stratt mixed-stratt-def multi-parser-run INTERMEDIATES = $(EXES) $(EXES:%=%.c) $(EXES:%=%.l) UNIT_TESTS = \ @@ -47,8 +47,8 @@ test_mixed-enumatt \ test_mixed-enumatt2 \ test_mixed-stratt \ - test_mixed-stratt-def - + test_mixed-stratt-def \ + test_multi-parser-run test : $(UNIT_TESTS) @@ -72,6 +72,10 @@ test_mixed-stratt-def_cmd = ./mixed-stratt-def < mixed-stratt-def.in test_mixed-stratt-def_deps = mixed-stratt-def mixed-stratt-def.in +# Test multi-parser-run (Run the parser several times on "different" files) +test_multi-parser-run_cmd = ./multi-parser-run multi-parser-run.in +test_multi-parser-run_deps = multi-parser-run multi-parser-run.in + % : %.dtd %.act $(FLEXML) -b 1000 -A -a$@.act $@.dtd $(FLEX) -s -L -o$@.c $@.l --- NEW FILE: multi-parser-run.stdout.expected --- Run 0 foo attributes name='toto' toz='0.0' gaz='0.0' bar attributes name='tutu' Run 1 foo attributes name='toto' toz='0.0' gaz='0.0' bar attributes name='tutu' Run 2 foo attributes name='toto' toz='0.0' gaz='0.0' bar attributes name='tutu' --- NEW FILE: multi-parser-run.act --- <!DOCTYPE actions SYSTEM "flexml-act.dtd"> <actions> <top><![CDATA[ #include <stdio.h> ]]></top> <start tag='foo'><![CDATA[ printf("foo attributes name='%s' toz='%s' gaz='%s'\n", {name}, {toz}, {gaz}); ]]></start> <start tag='bar'><![CDATA[ printf("bar attributes name='%s'\n", {name}); ]]></start> <main><![CDATA[ int main(int argc, char **argv) { FILE *infile; YY_BUFFER_STATE buff; int retval; int i; for (i=0; i<3; i++) { printf("Run %d\n",i); infile=fopen(argv[1],"r"); buff=yy_create_buffer(infile,10); yy_switch_to_buffer(buff); retval = yylex(); yy_delete_buffer(buff); fclose(infile); } return retval; } ]]></main> </actions> |
From: William D. <wdo...@us...> - 2006-08-29 14:14:54
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv22138 Modified Files: flexml.pl Log Message: Allow reference to attribute values in end-tag processing methods. Index: flexml.pl =================================================================== RCS file: /cvsroot/flexml/flexml/flexml.pl,v retrieving revision 1.57 retrieving revision 1.58 diff -u -d -r1.57 -r1.58 --- flexml.pl 27 Aug 2006 20:47:29 -0000 1.57 +++ flexml.pl 29 Aug 2006 14:14:40 -0000 1.58 @@ -1355,11 +1355,6 @@ } $exitswitch .= " }\n"; } - - - - - # Start or empty tag: initialise attribute list. print "\n"; @@ -1451,7 +1446,7 @@ . " FAIL(\"Required attribute `$attribute' not set for `$tag' element.\");\n"; } } - print " LEAVE; STag_${tagprefix}$myctag(); popbuffer(); " + print " LEAVE; STag_${tagprefix}$myctag();" . (%inmixed ? ' pushbuffer('."${tagprefix}".'pcdata_ix);' : '') . ($mixed{$tag} ? 'pushbuffer('."${tagprefix}".'pcdata_ix); BUFFERSET('."${tagprefix}".'pcdata_ix);' : "${tagprefix}".'pcdata_ix = 0'). ";" . " ENTER($startstate{$tag});\n"; @@ -1466,12 +1461,12 @@ . " FAIL(\"Required attribute `$attribute' not set for `$tag' element.\");\n"; } } - print " LEAVE; STag_${tagprefix}$myctag(); popbuffer();" + print " LEAVE; STag_${tagprefix}$myctag();" . (%inmixed ? ' pushbuffer('."${tagprefix}".'pcdata_ix);' : '') . " ${tagprefix}".'pcdata_ix = 0;' . " ETag_${tagprefix}$myctag();" . (%inmixed ? " ${tagprefix}".'pcdata_ix = popbuffer();' : '') - . "\n"; + . " popbuffer(); /* attribute */\n"; # print $exitswitch; print " }\n"; @@ -1497,6 +1492,7 @@ print " ETag_${tagprefix}$myctag();\n"; print " ${tagprefix}pcdata_ix = popbuffer();\n" if $mixed{$tag}; print " ${tagprefix}pcdata_ix = popbuffer();\n" if %inmixed; + print " popbuffer(); /* attribute */\n"; print $exitswitch; print " }\n"; @@ -1679,23 +1675,17 @@ if ($tag) { while ( s/\{($Name)\}/A_${tagprefix}$ctag{$tag}_$catt{$1}/x ) { - die "\"$ACTIONS\", line $lineno: Attributes only allowed in start tag.\n" - if not $isstart; die "\"$ACTIONS\", line $lineno: Unknown attribute `$1' for <$tag>.\n" if not $atttype{"$tag/$1"}; } while ( s/\{[!]($Name)\}/AU_${tagprefix}$ctag{$tag}_$catt{$1}/x ) { - die "\"$ACTIONS\", line $lineno: Attributes only allowed in start tag.\n" - if not $isstart; die "\"$ACTIONS\", line $lineno: Unknown attribute `$1' for <$tag>.\n" if not $atttype{"$tag/$1"}; } while ( s|\{($Name)=($Name)\}| "A_${tagprefix}$ctag{$tag}_$catt{$1}_" . variablify($2); |xe ) { - die "\"$ACTIONS\", line $lineno: Attributes only allowed in start tag.\n" - if not $isstart; my ($att,$elt) = ($1,$2); die "\"$ACTIONS\", line $lineno: Unknown attribute $1 for <$tag>.\n" if not $atttype{"$tag/$1"}; |
From: William D. <wdo...@us...> - 2006-08-29 14:14:45
|
Update of /cvsroot/flexml/flexml/testbed In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv22138/testbed Modified Files: Makefile Added Files: mixed-enumatt2.act mixed-enumatt2.dtd mixed-enumatt2.in mixed-enumatt2.stdout.expected Log Message: Allow reference to attribute values in end-tag processing methods. --- NEW FILE: mixed-enumatt2.act --- <!DOCTYPE actions SYSTEM "flexml-act.dtd"> <actions> <top><![CDATA[ #include <stdio.h> ]]></top> <end tag='reqatt'><![CDATA[ printf("reqatt pcdata: %s\n", {#PCDATA}); printf("reqatt att: (%s)\n", {att} == {att=val1} ? "val1" : {att} == {att=val2} ? "val2" : {att} == {!att} ? "no att given" : "error in attribute"); ]]></end> <end tag='defatt'><![CDATA[ printf("defatt pcdata: %s\n", {#PCDATA}); printf("defatt att: (%s)\n", {att} == {att=val1} ? "val1" : {att} == {att=val2} ? "val2" : {att} == {!att} ? "no att given" : "error in attribute"); ]]></end> <end tag='optatt'><![CDATA[ printf("optatt pcdata: %s\n", {#PCDATA}); printf("optatt att: (%s)\n", {att} == {att=val1} ? "val1" : {att} == {att=val2} ? "val2" : {att} == {!att} ? "no att given" : "error in attribute"); ]]></end> <end tag='foo'><![CDATA[ printf("foo pcdata: %s\n", {#PCDATA}); ]]></end> <main><![CDATA[ int main(int argc, char **argv) { int retval = yylex(); printf("retval = %d\n", retval); return retval; } ]]></main> </actions> --- NEW FILE: mixed-enumatt2.stdout.expected --- reqatt pcdata: reqatt data reqatt att: (val1) defatt pcdata: defatt data defatt att: (val1) defatt pcdata: defatt data defatt att: (val2) optatt pcdata: optatt data optatt att: (val1) optatt pcdata: optatt data optatt att: (no att given) foo pcdata: foo start data foo end data. retval = 0 Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/testbed/Makefile,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Makefile 24 Aug 2006 20:36:03 -0000 1.6 +++ Makefile 29 Aug 2006 14:14:40 -0000 1.7 @@ -45,6 +45,7 @@ UNIT_TESTS = \ test_mixed1 \ test_mixed-enumatt \ + test_mixed-enumatt2 \ test_mixed-stratt \ test_mixed-stratt-def @@ -59,6 +60,10 @@ test_mixed-enumatt_cmd = ./mixed-enumatt < mixed-enumatt.in test_mixed-enumatt_deps = mixed-enumatt mixed-enumatt.in +# Test mixed-enumatt2 (mixed content + enumerated attribute, eval'ed in end tag) +test_mixed-enumatt2_cmd = ./mixed-enumatt2 < mixed-enumatt2.in +test_mixed-enumatt2_deps = mixed-enumatt2 mixed-enumatt2.in + # Test mixed-stratt (mixed content + string attribute) test_mixed-stratt_cmd = ./mixed-stratt < mixed-stratt.in test_mixed-stratt_deps = mixed-stratt mixed-stratt.in --- NEW FILE: mixed-enumatt2.dtd --- <!ELEMENT foo (#PCDATA|reqatt|defatt|optatt)*> <!ELEMENT reqatt (#PCDATA)> <!ATTLIST reqatt att (val1 | val2 ) #REQUIRED> <!ELEMENT defatt (#PCDATA)> <!ATTLIST defatt att (val1 | val2 ) 'val2'> <!ELEMENT optatt (#PCDATA)> <!ATTLIST optatt att (val1 | val2 ) #IMPLIED> --- NEW FILE: mixed-enumatt2.in --- <!DOCTYPE foo SYSTEM "mixed-enumatt2.dtd"> <foo>foo start data <reqatt att="val1">reqatt data</reqatt> <defatt att="val1">defatt data</defatt> <defatt>defatt data</defatt> <optatt att="val1">optatt data</optatt> <optatt>optatt data</optatt> foo end data.</foo> |
From: William D. <wdo...@us...> - 2006-08-28 20:50:41
|
Update of /cvsroot/flexml/flexml/examples In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv13298 Modified Files: Makefile Log Message: Using gcc 3.2.3 on Sparc/Solaris 5.8, it was taking too long to compile xhtml1-transitional.o; this turns off -O2 for that file, allowing this example to run (and succeed.) Index: Makefile =================================================================== RCS file: /cvsroot/flexml/flexml/examples/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile 18 Jul 2006 18:21:13 -0000 1.7 +++ Makefile 28 Aug 2006 20:50:38 -0000 1.8 @@ -124,6 +124,9 @@ xhtml1-transitional.c: xhtml1-transitional.l $(FLEX) -B -s -v -Ca -oxhtml1-transitional.c xhtml1-transitional.l +# turn off the -O2 when building this -- it takes too long to run +xhtml1-transitional.o: CFLAGS = -g + xhtml1-transitional.o: xhtml1-transitional.c xhtml1-transitional.h xhtml-href.c: xhtml-href.act xhtml1-transitional.dtd |
From: Martin Q. <mqu...@us...> - 2006-08-27 20:47:34
|
Update of /cvsroot/flexml/flexml In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv5660 Modified Files: flexml.pl Log Message: Make sure bufferstack and bufferliteral play well wrt -P option: I have 2 flexers in the same application Index: flexml.pl =================================================================== RCS file: /cvsroot/flexml/flexml/flexml.pl,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- flexml.pl 24 Aug 2006 20:22:20 -0000 1.56 +++ flexml.pl 27 Aug 2006 20:47:29 -0000 1.57 @@ -249,8 +249,8 @@ my ($pre) = @_; # pre should be a storage class spec like 'static' or 'extern' print "/* FleXML-provided data. */\n"; print $pre . "int ${tagprefix}pcdata_ix;\n"; - print "extern char *bufferstack;\n"; - print "#define ${tagprefix}pcdata (bufferstack + ${tagprefix}pcdata_ix)\n"; + print "extern char *${tagprefix}bufferstack;\n"; + print "#define ${tagprefix}pcdata (${tagprefix}bufferstack + ${tagprefix}pcdata_ix)\n"; for (keys %atttype) { if (m.($Nmtoken)[/]($Nmtoken).xo) { @@ -260,7 +260,7 @@ print "AX_${tagprefix}$ctag{$1}_$catt{$2}\n"; } else { - print "(bufferstack + AX_${tagprefix}$ctag{$1}_$catt{$2})\n"; + print "(${tagprefix}bufferstack + AX_${tagprefix}$ctag{$1}_$catt{$2})\n"; } } } @@ -1288,7 +1288,7 @@ print " /* FleXML_init */\n"; for my $att (@default_attributes) { - print " bufferliteral('\\0', &bnext, \"$att\");\n"; + print " ${tagprefix}bufferliteral('\\0', &bnext, \"$att\");\n"; } print " if(!${tagprefix}statenames) {${tagprefix}statenames= (const char **)calloc(IMPOSSIBLE,sizeof(char*));\n"; for ('PROLOG','DOCTYPE','EPILOG','INCOMMENT','INPI','VALUE1','VALUE2','CDATA') { @@ -1593,6 +1593,8 @@ s/element_context/${tagprefix}element_context/g; s/parse_err_msg/${tagprefix}parse_err_msg/g; s/rcs_flexml_skeleton/rcs_${tagprefix}flexml_skeleton/g; + s/bufferliteral/${tagprefix}bufferliteral/g; + s/bufferstack/${tagprefix}bufferstack/g; print; } |