Operadores do CLEM
Esta página lista os operadores de idiomas CLEM disponíveis.
| Operação | Comentários | Precedência (consulte a próxima seção) |
|---|---|---|
or |
Usado entre duas expressões CLEM. Retorna um valor verdadeiro se um deles for verdadeiro ou se ambos forem verdadeiros. | 22 |
and |
Usado entre duas expressões CLEM. Retorna um valor verdadeiro se ambos forem verdadeiros. | 9 |
= |
Usado entre quaisquer dois itens comparáveis. Retorna true se ITEM1 for igual a ITEM2. | 7 |
== |
Idêntico a =. |
7 |
/= |
Usado entre quaisquer dois itens comparáveis. Retorna true se ITEM1 não for igual a ITEM2. | 7 |
/== |
Idêntico a /=. |
7 |
> |
Usado entre quaisquer dois itens comparáveis. Retorna verdadeiro se ITEM1 for estritamente maior que ITEM2. | 6 |
>= |
Usado entre quaisquer dois itens comparáveis. Retorna true se ITEM1 for maior ou igual a ITEM2. | 6 |
< |
Usado entre quaisquer dois itens comparáveis. Retorna true se ITEM1 for estritamente menor que ITEM2 | 6 |
<= |
Usado entre quaisquer dois itens comparáveis. Retorna true se ITEM1 for menor ou igual a ITEM2. | 6 |
&&=_0 |
Usado entre dois números inteiros. Equivalente à expressão booleana INT1 && INT2 = 0. | 6 |
&&/=_0 |
Usado entre dois números inteiros. Equivalente à expressão booleana INT1 && INT2 /= 0. | 6 |
+ |
Adiciona dois números: NUM1 + NUM2. | 5 |
>< |
Concatene duas sequências; por exemplo, STRING1 >< STRING2. |
5 |
- |
Subtrai um número de outro: NUM1 - NUM2. Também pode ser usado na frente de um número: - NUM. | 5 |
* |
Usado para multiplicar dois números: NUM1 * NUM2. | 4 |
&& |
Usado entre dois números inteiros. O resultado é o "e" bit a bit dos inteiros INT1 e INT2. | 4 |
&&~~ |
Usado entre dois números inteiros. O resultado é o "e" bit a bit de INT1 e o complemento bit a bit de INT2. | 4 |
|| |
Usado entre dois números inteiros. O resultado é o bit a bit "inclusive ou" de INT1 e INT2. | 4 |
~~ |
Usado na frente de um número inteiro. Produz o complemento bit a bit de INT. | 4 |
||/& |
Usado entre dois números inteiros. O resultado é o bit a bit "exclusive or" de INT1 e INT2. | 4 |
INT1 << N |
Usado entre dois números inteiros. Produz o padrão de bits da INT deslocado para a esquerda em N posições. | 4 |
INT1 >> N |
Usado entre dois números inteiros. Produz o padrão de bits de INT deslocado para a direita em N posições. | 4 |
/ |
Usado para dividir um número por outro: NUM1 / NUM2. | 4 |
** |
Usado entre dois números: BASE ** POWER. Retorna BASE elevado à potência POWER. | 3 |
rem |
Usado entre dois números inteiros: INT1 rem INT2. Retorna o restante, INT1 - ( INT1 div INT2 ) * INT2. | 2 |
div |
Usado entre dois números inteiros: INT1 div INT2. Executa a divisão de números inteiros. | 2 |
Precedência do operador
As precedências determinam a análise de expressões complexas, especialmente expressões sem colchetes com mais de um operador de infixo. Por exemplo,
3 + 4 * 5
parças como 3 + (4 * 5) em vez de (3 + 4) *
5 porque as precedentes relativas ditam que * deve ser analisado antes de +. Todo operador na linguagem CLEM tem um valor de precedência associado a ele; quanto menor esse valor, mais importante ele está na lista de análise, significando que ele será processado mais cedo do que outros operadores com valores de precedência maiores.