[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Many different syntaxes in XML - is that good language des
> Phew! That is a lot of different syntaxes. > > Is that good language design to have so many different syntaxes? > > Dealing with lots of different syntaxes is hard. In 2008 I implemented a generic LR-1 parser in XSLT. It uses the XML representation of a set of parsing tables for a given LR-1 grammar. The parsing tables are generated by YACC (with a function I added to YACC's output generator). The lexer also would use a set of monstrous-looking RegEx expressions for the terminal symbols of the specific language. So any complaints of having to deal with a few languages that we know about in advance, fade in comparison with this LR-1 parser, written in XSLT, which (the XSLT) is actually an XML document, that uses the parsing tables of any possible (and unknown in advance) LR-1 languages and itself generates an abstract tree (in XML, of course), representing the parse. For the case when the language to be parsed happens to be XPath 2.0: https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/func-lrParse.xsl https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/XPATH-Grammar.y https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/XPATH-ParseTables.xml https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/XPathParse1.xsl And this is example of invoking this parser to parse one (the first) of many possible XPath expressions contained in this transformation: https://github.com/dnovatchev/FXSL-XSLT2/blob/master/newWork/XPathParse1.xsl Just invoke this transformation on any XML document (not used) such as <t /> Cheers, Dimitre On Mon, Mar 7, 2022 at 4:14 AM Roger L Costello <costello@mitre.org> wrote: Hi Folks, Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- To avoid situations in which you might make mistakes may be the biggest mistake of all ------------------------------------ Quality means doing it right when no one is looking. ------------------------------------- You've achieved success in your field when you don't know whether what you're doing is work or play ------------------------------------- To achieve the impossible dream, try going to sleep. ------------------------------------- Facts do not cease to exist because they are ignored. ------------------------------------- Typing monkeys will write all Shakespeare's works in 200yrs.Will they write all patents, too? :) ------------------------------------- Sanity is madness put to good use. ------------------------------------- I finally figured out the only reason to be alive is to enjoy it.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|