From 0a4bdf56e3ca1469f5758d99e409990c3bd3c1f8 Mon Sep 17 00:00:00 2001 From: Rafal Kupiec Date: Sat, 30 Aug 2025 18:46:46 +0200 Subject: [PATCH] Update [DRAFT] AerScript Specification Aer#19 standard --- ...erScript-Specification---Aer%2319-standard.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/%5BDRAFT%5D-AerScript-Specification---Aer%2319-standard.md b/%5BDRAFT%5D-AerScript-Specification---Aer%2319-standard.md index 1d748d0..dbd3115 100644 --- a/%5BDRAFT%5D-AerScript-Specification---Aer%2319-standard.md +++ b/%5BDRAFT%5D-AerScript-Specification---Aer%2319-standard.md @@ -104,7 +104,7 @@ There are several kinds of operators and punctuators. Operators are used in expr && || ! & ^ ^^ | ~ . << >> , :: ( ) [ ] { } -> : -? => +? => ** #### X.Y.Z Identifiers @@ -347,21 +347,23 @@ When an expression contains multiple operators, the precedence of the operators | 3 | increment / decrement | ++ -- | non-associative | | 4 | unary operators | - + ~ ! | right-associative | | 4 | cast operators | (typedef) | right-associative | -| 7 | object-related | instanceof | non-associative | +| 5 | object-related | is | non-associative | +| 6 | arithmetic operators | ** | right-associative | | 7 | arithmetic operators | * / % | left-associative | | 8 | arithmetic operators | + - | left-associative | | 9 | bitwise operators | << >> | left-associative | | 10 | comparison | < <= > >= | non-associative | -| 11 | comparison | == != === !== | non-associative | +| 11 | comparison | == != | non-associative | | 12 | bitwise and | & | left-associative | -| 12 | reference operator | =& | left-associative | | 13 | bitwise xor | ^ | left-associative | | 14 | bitwise or | \| | left-associative | | 15 | logical and | && | left-associative | | 16 | logical xor | ^^ | left-associative | | 17 | logical or | \|\| | left-associative | -| 18 | ternary operator | ? : | left-associative | -| 19 | assignment operators | = += -= *= /= %= | right-associative | +| 18 | NULL coalescing | ?? | right-associative | +| 19 | ternary operator | ? : | left-associative | +| 20 | assignment operators | = += -= *= /= %= **= | right-associative | +| 20 | assignment operators | &= \|= ^= <<= >>= | right associative | | 23 | comma operator | , | left-associative | ### 6.2. Associativity Rule @@ -383,6 +385,7 @@ Aer offers the following arithmetic operators: * Multiplication: * * Division: / * Modulo: % + * Exponentation: ** ### 6.5. Concatenating Strings In Aer concatenating strings is nothing more than adding strings to each other with the addition operator. @@ -400,7 +403,6 @@ Relational operators are used to compare values. These operators always result i * greater than or equal to: >= * equal to: == * not equal to: != - * identical: === * not identical: !== ### 6.8. Bitwise Operators