语法语义、形参实参,懂彻底!



你知道parameterargument的不同吗,你知道syntaxsemantic的区别吗?这两对词汇经常在英文技术文档中出现,以前我不知道它们的确切含义,只知道前者说的是参数,后者说的和语法相关,这样都能蒙混过关。直到有一天它们很频繁的一起露面,我才不得已去把它们知彻底。

中文解释:

    parameter:形式参数(形参)

    argument:实际参数(实参)

    syntax:语法

    semantic:语义


看到它们的中文解释,想必已经理解了一半,parameter是函数定义时的参数;argument是调用函数时,传给函数的实际值。

看stackoverflow给出的解释:

Parameters are the things defined by functions as input, arguments are the things passed as parameters.
void foo(int bar) { ... }

foo(baz);

In this example, bar is a parameter for foo. baz is an argument passed to foo.


但语法和语义的解释不是很直白,先给出我的研究成果:


语法:词语的用法。

语义:词语或语句的含义。


举例一个语言的例子说明语法和语义:

1) “Lua java的是编写”,这句子你一定看不懂,因为它语法错误,不符合汉语的语法。

2) “Lua是Java编写的”,这句子语法正确,但是语义错误。

3) “Lua是C编写的”, 这句子,语法和语义都对。


给出stackoverflow上的解释:
Syntax is the grammar. It describes the way to construct a correct sentence. For example, this water is triangular is syntactically correct.

Semantics relates to the meaning. this water is triangular does not mean anything, though the grammar is ok


例如在Lua中:

t = {}

我们可以说表达式“t = {}”语法正确,t的语义是table。


通过上面的描述,可以给语法和语义下个很草率结论

语法:符合语言习惯的词语排列顺序。

语义:一个词语或者整个句子的含义,如果语法错误,那么语义无从谈起。


如果你有更好的解释,不吝赐教。

(本文包含很多语法和语义的错误,请多多包涵!)

你可能感兴趣的:(语法语义、形参实参,懂彻底!)