论坛首页 综合技术论坛

语法和语义的区别

浏览 4938 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-10  

一种语言是合法句子的集合。什么样的句子是合法的呢?可以从两方面来判断:语法和语义。语法是和文法结构有关,然而语义是和按照这个结构所组合的单词符号的意义有关。合理的语法结构并不表明语义是合法的。例如我们常说:我上大学,这个句子是符合语法规则的,也符合语义规则。但是大学上我,虽然符合语法规则,但没有什么意义,所以说是不符合语义的。

在antlr的文法中,可以指定自定义的语言的语法规则的集合。antlr用这些规则来产生识别器来识别该语言的句子。为了遵循语义规则,必须在文法中加入actions或者semantic predicates。actions来测试不同的tokens的“值”和它们之间的关系来决定语义是否合法。例如:在符号表中查找类型名来保证该tokens的“值”是类型而不是变量,这就是语义规则的应用。

   发表时间:2007-05-10  
这两个概念其实上学时在语文课本(英文)中就说的很明白了。现在更加深刻的理解它们。
0 请登录后投票
   发表时间:2007-05-10  
恩,加上去了。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics