大家好,欢迎来到IT知识分享网。
语法检查和语义检查是编译过程中的两道手序。区别如下:
1.语法检查(Syntax Checking)
语法检查是第一道检查,就像英语的语法一样,它检查的是存不存在语法错语。
最常见的语法错误是错别字(if写成it)、缺胳膊少腿(少括号、分号)。
2.语义检查(Semantic Checking)
语义检查是语法检查之后进行的更高级别的检查。它关注代码的含义,检查的是逻辑。
比如标识符未定义(使用了未定义的变量、函数),函数未被正确调用(参数数量、类型和顺序与函数声明不符),以及存在未定义的行为(除以零、数组越界)。
总之,语法检查比较低级,就是无脑流、背条文;语义检查比较高级,有逻辑判断。就像过安检,如果你带了大规模杀伤性武器,语法检查就会把你拿下,但如果你只是带个小孩儿,它就奈何不了你。可如果这个孩子一直哇哇大哭,狂喊救命,那么安检人员仍然可能将你拿下,这时候用的就是语义检查。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/137811.html