source/text/scalc/01/04060199.xhp |  176 +++++++++++++++++++++++++++++++-------
 1 file changed, 145 insertions(+), 31 deletions(-)

New commits:
commit 9615cb2ed0275615f853c027087fa5ef46f72eae
Author:     Olivier Hallot <olivier.hal...@libreoffice.org>
AuthorDate: Fri Jun 23 21:14:25 2023 -0300
Commit:     Olivier Hallot <olivier.hal...@libreoffice.org>
CommitDate: Sat Jun 24 13:10:39 2023 +0200

    tdf#156029 operator precedence in Calc
    
    Change-Id: If6410c72b4b085f3012e926c9a0dc2175d4ce2af
    Reviewed-on: https://gerrit.libreoffice.org/c/help/+/153542
    Tested-by: Jenkins
    Reviewed-by: Olivier Hallot <olivier.hal...@libreoffice.org>

diff --git a/source/text/scalc/01/04060199.xhp 
b/source/text/scalc/01/04060199.xhp
index d7c050fb11..30648afb93 100644
--- a/source/text/scalc/01/04060199.xhp
+++ b/source/text/scalc/01/04060199.xhp
@@ -24,18 +24,20 @@
 </topic>
 </meta>
 <body>
-<bookmark branch="index" id="bm_id3156445"><bookmark_value>formulas; 
operators</bookmark_value>
+<bookmark branch="index" id="bm_id3156445">
+<bookmark_value>operators; in spreadsheet formulas</bookmark_value>
+<bookmark_value>formulas; operators</bookmark_value>
 <bookmark_value>operators; formula functions</bookmark_value>
+</bookmark><comment>mw added 7 new index entries</comment>
+<h1 id="hd_id3156445">Operators in $[officename] Calc</h1>
+<paragraph role="paragraph" id="par_id3155812">You can use the following 
operators in $[officename] Calc:</paragraph>
+<bookmark branch="index" id="bm_id891687563561282">
+<bookmark_value>arithmetical operators</bookmark_value>
 <bookmark_value>division sign, see also operators</bookmark_value>
 <bookmark_value>multiplication sign, see also operators</bookmark_value>
 <bookmark_value>minus sign, see also operators</bookmark_value>
 <bookmark_value>plus sign, see also operators</bookmark_value>
-<bookmark_value>text operators</bookmark_value>
-<bookmark_value>comparisons;operators in Calc</bookmark_value>
-<bookmark_value>arithmetical operators</bookmark_value>
-<bookmark_value>reference operators</bookmark_value>
-</bookmark><comment>mw added 7 new index entries</comment><h1 
id="hd_id3156445">Operators in $[officename] Calc</h1>
-<paragraph role="paragraph" id="par_id3155812">You can use the following 
operators in $[officename] Calc:</paragraph>
+</bookmark>
 <h2 id="hd_id3153066">Arithmetical Operators</h2>
 <paragraph role="paragraph" id="par_id3148601">These operators return 
numerical results.</paragraph>
 <table id="tbl_id3151240">
@@ -52,7 +54,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3149126">+ (Plus)</paragraph>
+    <paragraph role="tablecontent"  localize="false" 
id="par_id3149126">+</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3150892">Addition</paragraph>
@@ -63,7 +65,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3159204">- (Minus)</paragraph>
+    <paragraph role="tablecontent"  localize="false" 
id="par_id3159204">-</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3145362">Subtraction</paragraph>
@@ -74,7 +76,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3153808">- (Minus)</paragraph>
+    <paragraph role="tablecontent"  localize="false" 
id="par_id3153808">-</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3151193">Negation</paragraph>
@@ -85,7 +87,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3149873">* (asterisk)</paragraph>
+    <paragraph role="tablecontent"  localize="false" 
id="par_id3149873">*</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3147504">Multiplication</paragraph>
@@ -96,7 +98,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3151341">/ (Slash)</paragraph>
+    <paragraph role="tablecontent" localize="false"  
id="par_id3151341">/</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3159260">Division</paragraph>
@@ -107,7 +109,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3156396">% (Percent)</paragraph>
+    <paragraph role="tablecontent"  localize="false" 
id="par_id3156396">%</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3150372">Percent</paragraph>
@@ -118,7 +120,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3149722">^ (Caret)</paragraph>
+    <paragraph role="tablecontent"  localize="false" 
id="par_id3149722">^</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3159127">Exponentiation</paragraph>
@@ -131,6 +133,10 @@
 
 <note id="par_id881623862728559">Prefix "-" (negation) has a higher precedence 
than "^" (exponentiation). For example -3^2 equals 9, which is the square of a 
negative number.</note>
 
+<bookmark branch="index" id="bm_id481687564343986">
+<bookmark_value>operators;comparison</bookmark_value>
+<bookmark_value>comparisons;operators in Calc</bookmark_value>
+</bookmark>
 <h2 id="hd_id3152981">Comparative operators</h2>
 <paragraph role="paragraph" id="par_id3157902">These operators return either 
true or false.</paragraph>
 <table id="tbl_id3148725">
@@ -147,7 +153,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3148888">= (equal sign)</paragraph>
+<paragraph role="tablecontent" localize="false" 
id="par_id3148888">=</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3154845">Equal</paragraph>
@@ -158,18 +164,18 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3154807">&gt; (Greater 
than)</paragraph>
+    <paragraph role="tablecontent" localize="false" 
id="par_id3154807">&gt;</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3148580">Greater than</paragraph>
 </tablecell>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3145138" 
localize="false">A1&gt;B1</paragraph>
+    <paragraph role="tablecontent" id="par_id3145138" 
localize="false">A1&gt;B1</paragraph>
 </tablecell>
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3149507">&lt; (Less than)</paragraph>
+<paragraph role="tablecontent"  localize="false" 
id="par_id3149507">&lt;</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3150145">Less than</paragraph>
@@ -180,7 +186,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3153078">&gt;= (Greater than or equal 
to)</paragraph>
+    <paragraph role="tablecontent"  localize="false" 
id="par_id3153078">&gt;=</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3150866">Greater than or equal 
to</paragraph>
@@ -191,7 +197,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3153004">&lt;= (Less than or equal 
to)</paragraph>
+    <paragraph role="tablecontent" localize="false"  
id="par_id3153004">&lt;=</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3150335">Less than or equal 
to</paragraph>
@@ -202,7 +208,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3157994">&lt;&gt; 
(Inequality)</paragraph>
+    <paragraph role="tablecontent"  localize="false" 
id="par_id3157994">&lt;&gt;</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3150019">Inequality</paragraph>
@@ -212,6 +218,10 @@
 </tablecell>
 </tablerow>
 </table>
+<bookmark branch="index" id="bm_id3157975">
+<bookmark_value>text operators</bookmark_value>
+<bookmark_value>text concatenation</bookmark_value>
+</bookmark>
 <h2 id="hd_id3145241">Text operators</h2>
 <paragraph role="paragraph" id="par_id3155438">The operator combines separate 
texts into one text.</paragraph>
 <table id="tbl_id3156061">
@@ -228,18 +238,22 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3148769">&amp; (And)</paragraph>
+    <paragraph role="tablecontent"  localize="false" 
id="par_id3148769">&amp;</paragraph>
 </tablecell>
 <tablecell>
-<bookmark branch="index" id="bm_id3157975"><bookmark_value>text concatenation 
AND</bookmark_value>
-</bookmark>
-<paragraph role="tablecontent" id="par_id3157975">text concatenation 
AND</paragraph>
+<paragraph role="tablecontent" id="par_id3157975">text 
concatenation</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3157993">"Sun" &amp; "day" is 
"Sunday"</paragraph>
 </tablecell>
 </tablerow>
 </table>
+<bookmark branch="index" id="bm_id291687563892759">
+<bookmark_value>reference operators</bookmark_value>
+<bookmark_value>intersection reference operator</bookmark_value>
+<bookmark_value>union reference operator</bookmark_value>
+<bookmark_value>range operator</bookmark_value>
+</bookmark>
 <section id="referenceoperators">
 <h2 id="hd_id3153550">Reference operators</h2>
 <paragraph role="paragraph" id="par_id3149024">These operators return a cell 
range of zero, one or more cells.</paragraph>
@@ -253,12 +267,12 @@
 <paragraph role="tablehead" id="par_id3152822">Name</paragraph>
 </tablecell>
 <tablecell>
-    <paragraph role="tablehead" id="par_id521599494740206">Example</paragraph>
+<paragraph role="tablehead" id="par_id521599494740206">Example</paragraph>
 </tablecell>
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3156257">: (Colon)</paragraph>
+<paragraph role="tablecontent" localize="false" 
id="par_id3156257">:</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id3153924">Range</paragraph>
@@ -269,11 +283,9 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id3152592">! (Exclamation 
point)</paragraph>
+<paragraph role="tablecontent" localize="false" 
id="par_id3152592">!</paragraph>
 </tablecell>
 <tablecell>
-<bookmark branch="index" id="bm_id3150606"><bookmark_value>intersection 
operator</bookmark_value>
-</bookmark>
 <paragraph role="tablecontent" id="par_id3150606">Intersection</paragraph>
 </tablecell>
 <tablecell>
@@ -283,7 +295,7 @@
 </tablerow>
 <tablerow>
 <tablecell>
-<paragraph role="tablecontent" id="par_id4003723">~ (Tilde)</paragraph>
+<paragraph role="tablecontent" localize="false" 
id="par_id4003723">~</paragraph>
 </tablecell>
 <tablecell>
 <paragraph role="tablecontent" id="par_id838953">Concatenation or 
union</paragraph>
@@ -297,5 +309,107 @@
 </table>
 <note id="par_id181890">A reference list is not allowed inside an array 
expression.</note>
 </section>
+<bookmark xml-lang="en-US" branch="index" id="bm_id311687563684141">
+    <bookmark_value>operators;precedence of</bookmark_value>
+</bookmark>
+<h2 id="hd_id981687562294437">Operator precedence</h2>
+<paragraph role="paragraph" id="par_id271687562351999">Associativity and 
precedence of operators, from highest to lowest precedence.</paragraph>
+<table id="tbl_precedence">
+       <tablerow>
+        <tablecell><paragraph role="tablehead" 
id="par_id461687561515440">Associativity</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablehead" 
id="par_id801687561518810">Operator(s)</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablehead" 
id="par_id521687561523649">Comments</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id611687561527049">left</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id561687561531281">:</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id651687561534345">Range.</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id961687561539434">left</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id301687561544010">!</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id721687561546778">Reference intersection (A1:C4!B1:B5 is 
B1:B4).</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id741687561555251">left</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id901687561558641">~</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id121687561561898">Reference union.</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id731687561708790">right</paragraph></tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id61687561711845">+,-</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id721687561715845">Prefix unary operators, e.g., -5 or -A1. Note that 
these have a different precedence than add and subtract.</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id171687561719559">left</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id561687561722949">%</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id791687561727359">Postfix unary operator % (divide by 100). Note that 
this is legal with expressions, for example, B1%.</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id681687561735190">left</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id781687561738654">^</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id321687561741773">Power (2^3 is 8).</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id321687561745015">left</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id121687561747982">*,/</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id431687561758704">Multiply, divide.</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id931687561762278">left</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id241687561766047">+,-</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id731687561770325">Binary operations add, subtract. Note that unary 
(prefix) + and - have a different precedence.</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id541687561818607">left</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id421687561821896">&amp;</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id391687561825288">Binary operation string concatenation. Note that 
unary (prefix) + and - have a different precedence. Note that "&amp;" shall be 
escaped when included in an XML document</paragraph>
+               </tablecell>
+       </tablerow>
+       <tablerow>
+        <tablecell><paragraph role="tablecontent" 
id="par_id921687561831376">left</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" localize="false" 
id="par_id41687561835121">=, &lt;&gt;, &lt;, &lt;=,<br/>&gt;, &gt;=</paragraph>
+               </tablecell>
+        <tablecell><paragraph role="tablecontent" 
id="par_id631687561838545">Comparison        operators equal to, not equal to, 
less than, less than or equal to, greater than, greater than or equal 
to</paragraph>
+               </tablecell>
+       </tablerow>
+</table>
+<note id="par_id241687561247336">Prefix €œ"-"€ has a higher precedence than 
"^"€, €œ"^"€ is left-associative, and
+reference intersection has a higher precedence than reference union.</note>
+<note id="par_id941687561277896">Prefix "+"€ and "-" are defined to be 
right-associative. However, note that typical
+applications which implement at most the operators defined in this 
specification (as specified) may implement them as left-associative, because 
the calculated results will be identical.</note>
+<note id="par_id411687561295059">Precedence can be overridden by using 
parentheses, so "=2+3*4" computes to 14 but "=(2+3)*4" computes 20.</note>
+<section id="relatedtopics">
+    <paragraph role="paragraph" id="par_id661687565493405"><link 
href="OpenDocument/v1.3/os/part4-formula/OpenDocument-v1.3-os-part4-formula.html#Operators">OpenDocument
 v1.3 part4, Formula Operators</link></paragraph>
+</section>
 </body>
 </helpdocument>

Reply via email to