关于学习语义

时间:2011-02-24 01:06:10

标签: programming-languages semantics

我必须做一些与语义相关的事情。我正在阅读PLT Redex的语义工程,我发现它有点难以理解,这不是我想做计算机科学的方式。我记得我对阅读CSAPP书感到非常兴奋。但不是对这个或语义领域感到兴奋!虽然我认为原因是我还没有理解它,但重点是什么。也许。但我认为我需要一些建议来引导我走开:如何在学习语义之前?

1 个答案:

答案 0 :(得分:0)

什么是语义:语义通常与语法形成对比。语法描述了如何安排语言的各个部分。语义描述了这些安排的作用。它描述了他们的影响。

从编写语言的人的角度来看,语法是词法分析器,解析器和抽象语法树的规范。语义是Eval / Apply循环的规范。

为什么语义很有趣:语法是一个已解决的问题。虽然它很复杂,但是一旦你编写了一些好的解析器,它们就会开始看起来一样。赋予语言意义并具有该意义的过程导致了一个有用,简洁和清晰的工具,这是一个更深层次的主题。这只是一种观点,但在计算机科学领域的学者中常常说语义是语言。

一些语义概念:面向对象的编程是一种语义符号。 SmallTalk和Java具有彼此非常不同的语法,但是将“对象”的语义共享为由一组定义的方法操作的封装数据。功能编程是另一种语义概念。

我不是学者,我没有跟上最近的语义教学法,所以我不能很好地解决现在正在教授的问题,但作为一名编码员和对计算机科学感兴趣的人,我发现这个主题都很有说服力并且非常适用。