编程便笺: 标志符与上下文

  在各种介绍编译系统的书里,关于标志符的着墨都不是很多,但标志符却可以说是一种语言的核心,标志符的定义、名字的查找方式、以及标志符语义的解释,很大程度上决定着一种语言的风格和能力。而在实际的编译程序的编写中,标志符的处理也是最费精力的,因为这一部分的处理体现出一种语言的特性,而其他部分相对来说是比较规范和统一。

  语言中包含信息的有四部分,分别是常数、标志符、句型、目录结构。目录结构决定着标志符、句型的上下文环境,不同的上下文环境,同样的标志符和句型,所体现的含义不一定相同。常数的含义比较明确,相应的变化也比较少,所含的信息比较固定。句型是标志符和常数的组合,反映了标志符和标志符以及常数之间的关系,在这里操作也是一种关系。标志符是语言的基础,既是语言形式的基本单元,也是语句语义表达的基点。语言的信息主要体现在目录结构、句型、标志符上,而其中蕴含信息最多的是标志符。

  有时我们在争论编译的前端和后端哪一个更重要,其实前端和后端都是语言实现一部分,我们是否更应争论语言的设计和语言的实现哪一种更重要。在资源有限的过去,为了更充分利用好有限的资源,语言的实现是关注的重点,而语言的设计往往比较有限而单一,主要是为了便于实现。而当计算资源相对丰富时,语言设计的意图会慢慢受重视,而语言的样式也会更丰富一些,以满足不同的需求。而在这方面,标志符的定义和使用的方式,则是语言设计体现的基础。

 

posted @ 2012-12-24 22:04  走在溪边  阅读(192)  评论(0)    收藏  举报