Operadores do CLEM

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

Tabela 1. Operadores de idiomas do CLEM
Operação Comentários Precedência (consulte a próxima seção)
or Usado entre duas expressões do CLEM. Retorna um valor de verdadeiro se uma delas for verdadeira ou se ambas forem verdadeiras. 22
and Usado entre duas expressões do CLEM. Retorna um valor de verdadeiro se ambas forem verdadeiras. 9
= Usado entre dois itens comparáveis quaisquer. Retorna verdadeiro se ITEM1 for igual a ITEM2. 7
== Idêntico a =. 7
/= Usado entre dois itens comparáveis quaisquer. Retorna verdadeiro se ITEM1 não for igual a ITEM2. 7
/== Idêntico a /=. 7
> Usado entre dois itens comparáveis quaisquer. Retorna verdadeiro se ITEM1 for exatamente maior que ITEM2. 6
>= Usado entre dois itens comparáveis quaisquer. Retorna verdadeiro se ITEM1 for maior que ou igual a ITEM2. 6
< Usado entre dois itens comparáveis quaisquer. Retorna verdadeiro se ITEM1 for exatamente menor que ITEM2 6
<= Usado entre dois itens comparáveis quaisquer. Retorna verdadeiro se ITEM1 for menor que 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
+ Inclui 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 bit a bit 'and' dos números inteiros INT1 e INT2. 4
&&~~ Usado entre dois números inteiros. O resultado é o bit a bit 'and' de INT1 e o complemento bit a bit de INT2. 4
|| Usado entre dois números inteiros. O resultado é o bit a bit 'inclusive or' 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 de INT deslocado para a esquerda N posições. 4
INT1 >> N Usado entre dois números inteiros. Produz o padrão de bits de INT deslocado para a direita 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 de 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 divisão inteira. 2

Precedência do operador

A precedência determina a análise sintática de expressões complexas, principalmente expressões sem colchetes com mais de um operador infix. 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.