Es gibt viele beliebte Sprachen. Informatiker sagen uns jedoch, dass wir, um das Verhalten von Programmen in diesen Sprachen definitiv und eindeutig verstehen zu können, diese in eine andere, gut verstandene Sprache übersetzen müssen (z. B. um ihre Identität zu beweisen). Sie nennen solche Sprache "eine Semantik". Autoren schlagen eine von vielen Semantiken vor. Sie erklären die Bedeutung ihrer Konstruktionen und wie Sie Ihre Sprache in ihre übersetzen können. Sobald Sie das tun, wird jeder Ihr Programm sicher verstehen, sagen sie.
Sieht gut aus, aber ich verstehe etwas nicht. Sagen sie uns, dass sie eine andere Sprache einführen, um die erste zu verstehen? Warum verstehen wir es besser als das Original? Warum ist diese Semantik besser als das? Warum nicht gleich die Semantik von C lernen, anstatt eine andere Sprache zu erfinden, um die Semantik von C zu beschreiben? Gleiches gilt für die Syntax. Warum stelle ich nicht die gleiche Frage zur Syntax?
PS In den Kommentaren höre ich, dass Semantik keine andere Sprache oder Übersetzung bedeutet. Die formale Semantik für VHDL besagt jedoch, dass Sie etwas nicht verstehen, wenn Sie es nur auf eine Weise verstehen, und dass die "Bedeutung der Bedeutung" angegeben werden kann, wenn wir eine Sprache mit einem Mechanismus bereitstellen, der es in eine andere (bekannte) Sprache übersetzt. Das heißt, "Semantik ist eine Beziehung zwischen formalen Systemen". Hennessy in der Semantik der Programmiersprachen sagt, dass die Semantik die formale Verarbeitung der "Bedeutung" des Programms ermöglicht, wenn die Semantik als BNF- oder Syntaxdiagramm geliefert wird. Was ist ein formales System, wenn nicht eine Sprache?
PS2 Kann ich sagen, dass die HW-Synthese eines bestimmten HDL-Programms zu einer Verknüpfung von Gattern ein Prozess der Semantikextraktion ist? Wir übersetzen (High-Level-) Beschreibungen in die (Low-Level-) Sprache, die wir später verstehen.