Skip to main content
As expressões são os blocos fundamentais de lógica em qualquer linguagem de programação.
Elas representam valores computáveis, que podem ser atribuídos, comparados, manipulados ou avaliados.
Nesta linguagem, a estrutura de uma expressão segue uma hierarquia clara, onde cada nível define o tipo de operação permitida e sua precedência.

Hierarquia das expressões

  • expressionassignment
    Toda expressão começa com uma atribuição, que pode ser simples (=) ou composta (+=, -=, etc.).
  • assignmentternary
    Permite atribuir valores com base em uma condição ternária: condição ? valor1 : valor2.
  • ternarylogical_or
    Avalia expressões com o operador lógico OU (ou).
  • logical_orlogical_and
    Avalia expressões com o operador lógico E (e).
  • logical_andequality
    Compara valores com operadores de igualdade (==) e diferença (!=).
  • equalitycomparison
    Realiza comparações relacionais: maior, menor, maior ou igual, etc.
  • comparisonterm
    Executa operações de soma e subtração.
  • termfactor
    Executa operações de multiplicação, divisão e módulo.
  • factorunary
    Aplica operadores unários como negação (!), negativo (-), tipo (tipode), incremento (++) e decremento (--).
  • unarypostfix
    Permite operações pós-expressão, como i++.
  • postfixcall
    Executa chamadas de função ou acesso a membros (objeto.metodo()).
  • callprimary
    Representa os elementos mais básicos: literais, identificadores ou expressões entre parênteses.
Essa hierarquia garante que expressões sejam avaliadas corretamente, respeitando a ordem de precedência dos operadores.