Update [DRAFT] AerScript Specification Aer#19 standard

2025-08-30 18:46:46 +02:00
committed by CodingWorkshop Signing Team
parent a5f22ab39f
commit 0a4bdf56e3

@@ -104,7 +104,7 @@ There are several kinds of operators and punctuators. Operators are used in expr
&& || ! & ^ ^^ | && || ! & ^ ^^ |
~ . << >> , :: ( ~ . << >> , :: (
) [ ] { } -> : ) [ ] { } -> :
? => ? => **
#### X.Y.Z Identifiers #### X.Y.Z Identifiers
@@ -347,21 +347,23 @@ When an expression contains multiple operators, the precedence of the operators
| 3 | increment / decrement | ++ -- | non-associative | | 3 | increment / decrement | ++ -- | non-associative |
| 4 | unary operators | - + ~ ! | right-associative | | 4 | unary operators | - + ~ ! | right-associative |
| 4 | cast operators | (typedef) | 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 | | 7 | arithmetic operators | * / % | left-associative |
| 8 | arithmetic operators | + - | left-associative | | 8 | arithmetic operators | + - | left-associative |
| 9 | bitwise operators | << >> | left-associative | | 9 | bitwise operators | << >> | left-associative |
| 10 | comparison | < <= > >= | non-associative | | 10 | comparison | < <= > >= | non-associative |
| 11 | comparison | == != === !== | non-associative | | 11 | comparison | == != | non-associative |
| 12 | bitwise and | & | left-associative | | 12 | bitwise and | & | left-associative |
| 12 | reference operator | =& | left-associative |
| 13 | bitwise xor | ^ | left-associative | | 13 | bitwise xor | ^ | left-associative |
| 14 | bitwise or | \| | left-associative | | 14 | bitwise or | \| | left-associative |
| 15 | logical and | && | left-associative | | 15 | logical and | && | left-associative |
| 16 | logical xor | ^^ | left-associative | | 16 | logical xor | ^^ | left-associative |
| 17 | logical or | \|\| | left-associative | | 17 | logical or | \|\| | left-associative |
| 18 | ternary operator | ? : | left-associative | | 18 | NULL coalescing | ?? | right-associative |
| 19 | assignment operators | = += -= *= /= %= | right-associative | | 19 | ternary operator | ? : | left-associative |
| 20 | assignment operators | = += -= *= /= %= **= | right-associative |
| 20 | assignment operators | &= \|= ^= <<= >>= | right associative |
| 23 | comma operator | , | left-associative | | 23 | comma operator | , | left-associative |
### 6.2. Associativity Rule ### 6.2. Associativity Rule
@@ -383,6 +385,7 @@ Aer offers the following arithmetic operators:
* Multiplication: * * Multiplication: *
* Division: / * Division: /
* Modulo: % * Modulo: %
* Exponentation: **
### 6.5. Concatenating Strings ### 6.5. Concatenating Strings
In Aer concatenating strings is nothing more than adding strings to each other with the addition operator. 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: >= * greater than or equal to: >=
* equal to: == * equal to: ==
* not equal to: != * not equal to: !=
* identical: ===
* not identical: !== * not identical: !==
### 6.8. Bitwise Operators ### 6.8. Bitwise Operators