Re: String Templates (was RE: ACTION 614-12: Smart Quotes)

On Sep 16, 2015, at 2:24 PM, C. M. Sperberg-McQueen wrote:
> 
> With the grammar given, the expression
> 
>  <[ aaa ]> || <[ bb ]>
> 
> can be parsed either as
> 

[botched parse tree 1]

> 
> or as 
> 

[botched parse tree 2]

My apologies; it doesn't seem to have confused Jonathan, but the parse
trees in my earlier mail are wrong.  For the record, though, I append a
correction.

With the grammar given, the expression

  <[ aaa ]> || <[ bb ]>

can be parsed either as

  Expr 
  . ExprSingle
  .. OrExpr
  ... AndExpr
  .... ComparisonExpr
  ..... StringConcatExpr

  ..... - RangeExpr 
  ..... - . AdditiveExpr
  ..... - .. MultiplicativeExpr
  ..... - ... UnionExpr
  ..... - .... IntersectExceptExpr
  ..... - ..... InstanceOfExpr
  ..... - ..... . TreatExr
  ..... - ..... .. CastableExpr
  ..... - ..... ... CastExpr
  ..... - ..... .... UnaryExpr
  ..... - ..... ..... ValueExpr
  ..... - ..... ..... . SimpleMapExpr
  ..... - ..... ..... .. PathExpr
  ..... - ..... ..... ... RelativePathExpr
  ..... - ..... ..... .... StepExpr
  ..... - ..... ..... ..... PostfixExpr
  ..... - ..... ..... ..... . PrimaryExpr
  ..... - ..... ..... ..... .. StringTemplate
  ..... - ..... ..... ..... .. -- '<[' 
  ..... - ..... ..... ..... .. -- StringTemplateText 
  ..... - ..... ..... ..... .. -- . Char* - '<{'
  ..... - ..... ..... ..... .. -- .. ' aaa '
  ..... - ..... ..... ..... .. -- ']>' 
  ..... - '||'
  ..... - RangeExpr 
  ..... - . AdditiveExpr
  ..... - .. MultiplicativeExpr
  ..... - ... UnionExpr
  ..... - .... IntersectExceptExpr
  ..... - ..... InstanceOfExpr
  ..... - ..... . TreatExr
  ..... - ..... .. CastableExpr
  ..... - ..... ... CastExpr
  ..... - ..... .... UnaryExpr
  ..... - ..... ..... ValueExpr
  ..... - ..... ..... . SimpleMapExpr
  ..... - ..... ..... .. PathExpr
  ..... - ..... ..... ... RelativePathExpr
  ..... - ..... ..... .... StepExpr
  ..... - ..... ..... ..... PostfixExpr
  ..... - ..... ..... ..... . PrimaryExpr
  ..... - ..... ..... ..... .. StringTemplate
  ..... - ..... ..... ..... .. -- '<[' 
  ..... - ..... ..... ..... .. -- StringTemplateText 
  ..... - ..... ..... ..... .. -- . Char* - '<{'
  ..... - ..... ..... ..... .. -- .. ' bbb '
  ..... - ..... ..... ..... .. -- ']>' 

or as 

  Expr 
  . ExprSingle
  .. OrExpr
  ... AndExpr
  .... ComparisonExpr
  ..... StringConcatExpr

  ..... . RangeExpr 
  ..... .. AdditiveExpr
  ..... ... MultiplicativeExpr
  ..... .... UnionExpr
  ..... ..... IntersectExceptExpr
  ..... ..... . InstanceOfExpr
  ..... ..... .. TreatExr
  ..... ..... ... CastableExpr
  ..... ..... .... CastExpr
  ..... ..... ..... UnaryExpr
  ..... ..... ..... . ValueExpr
  ..... ..... ..... .. SimpleMapExpr
  ..... ..... ..... ... PathExpr
  ..... ..... ..... .... RelativePathExpr
  ..... ..... ..... ..... StepExpr
  ..... ..... ..... ..... . PostfixExpr
  ..... ..... ..... ..... .. PrimaryExpr
  ..... ..... ..... ..... ... StringTemplate
  ..... ..... ..... ..... ... -- '<[' 
  ..... ..... ..... ..... ... -- StringTemplateText 
  ..... ..... ..... ..... ... -- . Char* - '<{'
  ..... ..... ..... ..... ... -- .. ' aaa '
  ..... ..... ..... ..... ... -- . Char* - '<{'
  ..... ..... ..... ..... ... -- .. ']>'
  ..... ..... ..... ..... ... -- . Char* - '<{'
  ..... ..... ..... ..... ... -- .. ' || '
  ..... ..... ..... ..... ... -- . Char* - '<{'
  ..... ..... ..... ..... ... -- .. '<['
  ..... ..... ..... ..... ... -- . Char* - '<{'
  ..... ..... ..... ..... ... -- .. ' bbb '
  ..... ..... ..... ..... ... -- ']>' 

My apologies for any confusion.

-- 
****************************************************************
* C. M. Sperberg-McQueen, Black Mesa Technologies LLC
* http://www.blackmesatech.com 
* http://cmsmcq.com/mib                 
* http://balisage.net
****************************************************************

Received on Thursday, 17 September 2015 17:47:45 UTC