Semântica denotacional é um tema que tem gerado grande interesse e debate nas últimas décadas. Com uma história rica e variada, Semântica denotacional captou a atenção de acadêmicos, pesquisadores, especialistas e entusiastas. Desde as suas origens até ao seu impacto na sociedade atual, Semântica denotacional deixou uma marca profunda em diferentes aspectos da vida quotidiana. Neste artigo exploraremos detalhadamente os diferentes aspectos e perspectivas relacionados a Semântica denotacional, com o objetivo de proporcionar uma compreensão mais completa deste tema tão relevante nos dias de hoje.
Semântica denotacional designa uma abordagem de semântica formal. A semântica formal é uma das áreas de estudo de ciência da computação, preocupada em atribuir significado às construções das linguagens de programação. Nesta abordagem, os significados são modelados por objetos matemáticos, geralmente funções semânticas definidas composicionalmente, que representam o efeito de executar uma estrutura.
Na semântica denotacional o efeito da computação interessa mais que como ela é produzida.
As funções semânticas usadas são funções que mapeiam estruturas da linguagem para funções parciais que representam o comportamento dos programas. Daí vem o nome da abordagem, denotacional, indicando que as funções semânticas denotam os significados das estruturas das linguagens de programação. A abordagem faz uso de cálculo lambda para modelar as funções.
A exigência de composicionalidade destas funções significa que elas podem ser compostas para representar o comportamento de comandos compostos. Por exemplo, o significado do comando de composição é dado por , e é a operação de composição de funções.
A semântica denotacional modela o significado de um laço de repetição usando pontos fixos (veja teoria dos pontos fixos). Um ponto fixo de um funcional é dado por .
A abordagem denotacional foi proposta por Scott e Strachey, na monografia clássica "Toward a mathematical semantics for computer languages".