Operadores do CLEM

Esta página lista os operadores de idiomas CLEM disponíveis.

Tabela 1. Operadores de linguagem CLEM
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.