有许多流行的语言。但是,计算机科学家告诉我们,为了确切,明确地理解那些语言的程序行为(例如证明其身份),我们需要将它们翻译成另一种易于理解的语言。他们称这种语言为“语义”。作者提出了许多语义之一。他们解释了结构的含义以及如何将语言翻译成它们。他们说,一旦您这样做,每个人都一定会理解您的程序。
看起来不错,但是我听不懂。他们是否告诉我们他们引入另一种语言来理解第一种语言?为什么我们比最初的理解得更好?为什么这种语义比这更好?为什么不立即学习C的语义而不是发明另一种语言来描述C的语义呢?语法也一样。为什么不就语法提出相同的问题?
PS在评论中,我听到语义并不意味着另一种语言或对其的翻译。但是VHDL的形式语义学说,如果您仅以一种方式理解某些东西,那么您就不会理解它,并且如果我们提供一种语言将其翻译成另一种(已知)语言的机制,则可以指定“含义的含义”。也就是说,“语义是形式系统之间的关系”。Hennessy在《编程语言语义学》中说,当语义以BNF或语法图的形式提供时,语义允许对程序“含义”进行正式处理。如果不是语言,什么是正式系统?
PS2我可以说将给定HDL程序的硬件综合成门的互连,这是语义提取的过程吗?之后,我们将(高级)描述翻译成我们理解的(低级)语言。