# HG changeset patch # User Henry S. Thompson # Date 1493155032 -3600 # Node ID 468a6cf8bf0ba1d4428364553338782675bbdc79 # Parent ac3cd8de7a1011dab6af0559bedf6362f5bb16cc big change wrt formulae compiles, crashes diff -r ac3cd8de7a10 -r 468a6cf8bf0b rect.xsl --- a/rect.xsl Tue Apr 25 18:30:04 2017 +0100 +++ b/rect.xsl Tue Apr 25 22:17:12 2017 +0100 @@ -5,6 +5,7 @@ + @@ -40,6 +41,10 @@ + + + + diff -r ac3cd8de7a10 -r 468a6cf8bf0b refs.xsl --- a/refs.xsl Tue Apr 25 18:30:04 2017 +0100 +++ b/refs.xsl Tue Apr 25 22:17:12 2017 +0100 @@ -1,28 +1,19 @@ + + + + - + - - | + | - - - - - - - - - - - diff -r ac3cd8de7a10 -r 468a6cf8bf0b tokenise.xsl --- a/tokenise.xsl Tue Apr 25 18:30:04 2017 +0100 +++ b/tokenise.xsl Tue Apr 25 22:17:12 2017 +0100 @@ -3,8 +3,6 @@ - - ("[^"]*")|(\{[^}]+})|(,)|([^=\-+*/();:,.$<>^!]+(?:\.[^=\-+*/();:,.$<>^!]+)*\()|([)])|(^=|\()|((?:(?:'[^']+')|(?:\[[0-9]+\][^!]*)|(?:[a-zA-Z_][a-zA-Z0-9._]*)!))|(\$?[A-Z]+\$?[0-9]+)|([a-zA-Z_\\][a-zA-Z0-9._]*)|(.) @@ -14,12 +12,7 @@ - - + @@ -32,15 +25,15 @@ m: A constant matrix p: A close-paren q: A text (delimited by double quotes) - r: A range reference + r: A range reference (two children, either e or s or u (unsupported)) s: A single-cell reference v: A variable name [should only occur inside e] x: Amalgamated single characters not matched by anything else --> - - + + @@ -48,10 +41,10 @@ - - - - + + + + - + - + - - + + + then if ($local) + then let $sub := e:tokenise(e:lookup(string($t)),$row,$col) return + [$i+1,$sub] + else (: can't expand :) e:exp1($i,'v',string($t)) + else (: shouldn't ever get here :) ()"/> + + + + + + + - + @@ -107,32 +112,69 @@ - - + + + - - - - - - - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bad range part in : of type (: () + + + - - +