4

OpenSCAD User Manual's section on operators does not mention precedence. Quick Web searches found nothing. I assume the usual order of exponentiation, then multiplication, then addition does hold, but how does e.g. a conditional operator or unary minus interact with these? Is there an official document describing the precedence of operators in OpenSCAD?

user31389
  • 143
  • 3

1 Answers1

3

Within OpenSCAD expressions, the order of precedence is:

Operators Description
() [] group, vector, or range
() [] . function call, indexing, member lookup
^ exponentiation
! + - unary operations
* / % multiplication
+ - addition
< <= >= > ordering
== != equality
&& logical AND
|| logical OR
?: function() let() assert() echo() ternary operator and unary pseudo-operators

There are no bit-wise operators, and neither comma nor "=" are operators.

Source: openscad/src/parser.y

agarza
  • 1,334
  • 2
  • 10
  • 30
Curt
  • 146
  • 2