当前位置:   article > 正文

语法和语义的区别

c语言语义与语法的区别

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/599322
推荐阅读
相关标签
  

闽ICP备14008679号