Ci sono molte lingue popolari. Ma gli informatici ci dicono che per capire il comportamento dei programmi in quelle lingue discutono in modo definitivo e inequivocabile del comportamento dei programmi (ad esempio, dimostrando la loro identità), dobbiamo tradurli in un altro linguaggio ben compreso. Chiamano tale linguaggio "una semantica". Gli autori propongono una delle tante semantiche. Spiegano il significato delle loro costruzioni e come puoi tradurre la tua lingua nella loro. Una volta che lo fai, tutti capiranno sicuramente il tuo programma, dicono.
Sembra buono, tuttavia, non capisco qualcosa. Ci dicono che introducono un'altra lingua per capire la prima? Perché lo capiamo meglio di quello originale? Perché questa semantica è meglio di così? Perché non imparare subito la semantica di C invece di inventare un'altra lingua, per descrivere la semantica di C? Lo stesso vale per la sintassi. Perché non faccio la stessa domanda riguardo alla sintassi?
PS Nei commenti ho sentito che la semantica non significa un'altra lingua o traduzione in essa. Ma la semantica formale per VHDL afferma che se capisci qualcosa in un solo modo, non lo capisci e il "significato del significato" può essere specificato se forniamo una lingua con un meccanismo che la traduce in un'altra lingua (conosciuta). Cioè, "la semantica è una relazione tra sistemi formali". Hennessy, in Semantica dei linguaggi di programmazione , afferma che la semantica consente l'elaborazione formale del "significato" del programma, quando la semantica viene fornita come BNF o diagramma di sintassi. Cos'è un sistema formale se non una lingua?
PS2 Posso dire che la sintesi HW di un determinato programma HDL nell'interconnessione delle porte, è un processo di estrazione della semantica? Traduciamo la descrizione (di alto livello) nella lingua (di basso livello) che comprendiamo in seguito.