Please enable JavaScript.
Coggle requires JavaScript to display documents.
Semântica - Coggle Diagram
Semântica
Axiomática
-
Ela é necessária ao utilizar compiladores e interpretadores, visto que, fornece as regras necessárias para transformar o código fonte escrito por humanos em instruções que uma máquina pode executar.
Essa semântica utiliza pré-condições e pós-condições para definir o comportamento esperado de um comando
Exemplo: {P}c{Q}, onde P é uma pré-condição e Q uma pós-condição, c é o comando
Comparações
Ambas as semânticas se complementam, sendo todas necessárias ao interpretar LPs
A semântica operacional é responsável por descrever como os programas são executados, mapeando cada trecho em um passo a passo de máquina
-
-
A semântica denotacional utiliza-se dos estados do programa gerados na execução (quando uma variável recebe uma nova denotação) para modelar os programas de forma abstrata
Pode ser aplicada em uma ampla gama de contextos (funções, variáveis, resultados)
Pode ser difícil de implementar em sistemas práticos,
Enquanto que a Axiomática descreve o significado de cada trecho de um programa pelo seu efeito no estado do programa, utilizando pré-condições e pós-condições
-
É bastante complexa na hora de implementar, pois requer muito raciocínio lógico
Operacional
-
É operacional pois simplifica expressões básicas como: somar, subtrair, em algo de mais alto nível
Exemplo: adicionar(x, y) = x + y
Denotacional
Responsável por atribuir tipos (denotar) ás expressões, tendo como objetivo, descrever um resultado esperado
-
Relações
As abordagens semânticas compõe as linguagens de programação, a semântica operacional atua convertendo o código humano, validado pela semântica axiomática, em código de máquina, o qual se utilizará dos tipos e estados de cada propriedade no programa (semântica denotacional)