Il existe de nombreuses langues populaires. Mais, les informaticiens nous disent que pour comprendre le comportement des programmes dans ces langues argumenter définitivement et sans ambiguïté sur le comportement du programme (par exemple prouver leur identité), nous devons les traduire dans un autre langage bien compris. Ils appellent ce langage "une sémantique". Les auteurs proposent une des nombreuses sémantiques. Ils expliquent le sens de leurs constructions et comment vous pouvez traduire votre langue en leur. Une fois que vous aurez fait cela, tout le monde comprendra certainement votre programme, disent-ils.
Ça a l'air bien, pourtant, je ne comprends pas quelque chose. Nous disent-ils qu'ils introduisent une autre langue pour comprendre la première? Pourquoi le comprenons-nous mieux que l'original? Pourquoi cette sémantique est meilleure que ça? Pourquoi ne pas apprendre tout de suite la sémantique de C au lieu d'inventer un autre langage, pour décrire la sémantique de C? Il en va de même pour la syntaxe. Pourquoi je ne pose pas la même question concernant la syntaxe?
PS Dans les commentaires, j'entends que la sémantique ne signifie pas une autre langue ou une traduction en elle. Mais la sémantique formelle pour VHDL dit que si vous ne comprenez quelque chose que d'une seule manière, vous ne le comprenez pas et le «sens du sens» peut être spécifié si nous fournissons une langue avec un mécanisme qui la traduit dans une autre langue (connue). Autrement dit, "la sémantique est une relation entre les systèmes formels". Hennessy, dans Sémantique des langages de programmation , dit que la sémantique permet un traitement formel du "sens" du programme, lorsque la sémantique est fournie sous forme de BNF ou de diagramme de syntaxe. Qu'est-ce qu'un système formel sinon une langue?
PS2 Puis-je dire que la synthèse HW d'un programme HDL donné dans l'interconnexion de portes est un processus d'extraction sémantique? Nous traduisons ensuite la description (de haut niveau) dans le langage (de bas niveau) que nous comprenons.