Existem muitos idiomas populares. Porém, os cientistas da computação nos dizem que, para entender o comportamento dos programas nessas línguas de maneira definitiva e inequívoca, argumentar sobre o comportamento do programa (por exemplo, provar sua identidade), precisamos traduzi-los para outra linguagem bem compreendida. Eles chamam essa linguagem de "semântica". Os autores propõem uma das muitas semânticas. Eles explicam o significado de suas construções e como você pode traduzir seu idioma para o deles. Depois que você fizer isso, todos entenderão seu programa certamente, eles dizem.
Parece bom, ainda assim, eu não entendo alguma coisa. Eles nos dizem que introduzem outro idioma para entender o primeiro? Por que o entendemos melhor do que o original? Por que essa semântica é melhor que isso? Por que não aprender semântica de C imediatamente em vez de inventar outra linguagem, para descrever a semântica de C? O mesmo se aplica à sintaxe. Por que não faço a mesma pergunta em relação à sintaxe?
PS: Nos comentários, ouvi dizer que semântica não significa outra língua ou tradução para ela. Mas a Semântica Formal para VHDL diz que se você entende algo de apenas uma maneira, não o entende e o "significado do significado" pode ser especificado se fornecermos a uma linguagem um mecanismo que a traduza para outra linguagem (conhecida). Ou seja, "semântica é uma relação entre sistemas formais". Hennessy, em Semântica de linguagens de programação , diz que a semântica permite o processamento formal do "significado" do programa, quando a semântica é fornecida como BNF ou Diagrama de sintaxe. O que é um sistema formal, se não um idioma?
PS2 Posso dizer que a síntese de HW de determinado programa HDL na interconexão de portas é um processo de extração semântica? Depois, traduzimos a descrição (de alto nível) para o idioma (de baixo nível) que entendemos.