Re: Tag declaration proposal

[email protected] ((Jochen Stenzel)) Mon, 26 Mar 2001 22:50:39 +0200
Newsgroups perl.perlpoint
Message-ID <[email protected]>
--_=_=_=IMA.BOUNDARY.GATOKF138764=_=_=_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit


Hello,

here's an update to my first proposal. Working on a parser version
using tags on base of declarations, I simplified the interface. Please
have a look at the attached files for details. To sum it up, options
are declared in general *only* now: to be obsolete, optional or
mandatory. Declarations of every single option, optionally even with a
set of valid values, went away. As a more flexible and *ever*
sufficient solution you can now hook right into the parser if
necessary, to implement all the option checks you want. A failure is
traeted as a syntactical error and causes the parser to abort. The same
hook interface is implemented for tag bodies. So this should be
flexible ;-)

The parser is almost ready to work on base of this. Early beta tester
packages are available ;-)

               Jochen









--_=_=_=IMA.BOUNDARY.GATOKF138764=_=_=_
Content-Type: application/x-compressed; name="PerlPoint-Tags-0.0102.tgz"
Content-Transfer-Encoding: base64

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
HP8HLMI4QQB4AAA=

--_=_=_=IMA.BOUNDARY.GATOKF138764=_=_=_--