FW: different AST's

How very odd. This message didn't go through the first time, although a
brief followup did. Let's try again, shall we ...
Howard

-----Original Message-----
From: Howard Katz [mailto:howardk@fatdog.com]
Sent: Friday, May 16, 2003 4:15 PM
To: public-qt-comments@w3.org
Subject: different AST's

Why are the AST's emitted by the online grammar checkers at the XML Query
website different from those produced by walking the formal BNF's manually?
The former omit a lot of the intermediate productions. How come? For example
using the XPath 2.0 grammar checker at
http://www.w3.org/2003/05/applets/xpathApplet.html, if I enter

       1

the parser widget emits:

|XPath2
|   XPath
|      Expr
|         ExprSingle
|            InstanceofExpr
|               TreatExpr
|                  CastableExpr
|                     CastExpr
|                        UnaryExpr
|                           PathExpr
|                              StepExpr
|                                 FilterStep
|                                    IntegerLiteral 1
|                                    Predicates             <- why is this
here ??

Parsing the same expression using the XPath 2.0 EBNF (2may03) however should
produce the following:

XPath
   Expr
      ExprSingle
          OrExpr	     <- so what happened to this?
               andExpr                 <- and this?
                   instanceOfExpr
                       treatExpr
                           castableExpr
                               castExpr
                                   comparisonExpr    <- and this
                                        rangeExpr               <- and this
                                            additiveExpr             <- and
this
                                                 multiplicativeExpr     <-
and this
                                                     unaryExpr
<- and this
                                                          unionExpr

intersectExceptExpr      <- and this

valueExpr                       <- and this

pathExpr

relativePathExpr          <- and this

stepExpr

filterStep

primaryExpr         <- and this

literalExpr              <- and this

numericExpr           <- and this

integerExpr


As well, I get 404's on the two links to the BNF's.
Best,
Howard

Received on Sunday, 18 May 2003 11:18:16 UTC