"语言构造"是什么意思?

Kaw*_*iKx 30 terminology

我正在学习Stephen Kochan撰写的" C语言编程"中的C语言.

虽然作者从一开始就很小心,但不要用学术词来混淆学生,但偶尔他会用很少的术语而不解释它们的含义.我已经在互联网的帮助下弄清楚了很多这样的术语的含义.

但是,我无法理解"语言构造"这个短语的确切含义,遗憾的是,网络并没有提供很好的解释.

考虑到我是初学者,"语言构造"是什么意思?

sak*_*zai 34

首先,您需要了解构造语言是什么.所有编程语言都是构造语言(阅读参考资料).然后,您可以阅读一些有关编译器构造的内容,包括此引用.

回到你的问题,考虑一下:英语(一种自然语言)有令牌'AZ/0-9 /,;"......"我们用它来构建 " 词语",我们使用语言规则来构建句子因此,在英语中,构造是我们用令牌构建的.

考虑一下这个实体例子:想象一下,如果你打算建房子,你可能会使用的基本材料是:沙子,铁,木头,水泥,水(简单来说只有四个).你用这4或5个以上的物品建造的任何物品都是"建筑物",这反过来可以帮助你建造自己的房子.

我故意省略细节以进一步简化答案; 希望这是有帮助的.

  • @George我认为在让自己过多地陷入“定义”复杂性之前,我们应该找到编程语言的目的是什么?编程语言提供了一个上下文/模型,我们在其中与计算机进行通信,给出“指令”,无论这些指令是什么。所以最终目的是生成“指令”。因此,用编程语言编写的任何内容都会产生一条指令或一组指令,因此最终计算机会根据给定的指令执行某些操作。 (2认同)

ctt*_*ctt 10

语言结构是一种语言语法.例如,以下是C语言中的一种语言结构,可用于控制程序的流程:

if ( condition ) {
  /* when condition is true */
} else {
  /* when condition is false */
}
Run Code Online (Sandbox Code Playgroud)

它们通常使用术语语言构造,因为它们是大多数编程语言的一部分,但根据语言的不同可能会有不同的写法.例如,bourne shell中的类似语言构造将是:

if COMMAND; then
  # when command returns 0
else
  # when command returns anything else
fi
Run Code Online (Sandbox Code Playgroud)

这个结构的功能是相同的,但是,它的编写方式有点不同.

希望这可以帮助.如果您需要更多细节,可能需要进行更多研究.正如其中一条评论所暗示的,维基百科可能会有所帮助.


aqu*_*san 6

它们是构建语言的基本单位。它们不能用作功能回滚。它们由解析器直接调用。它包括一种语言的所有语法、语义和编码风格。有关更多说明,您可以参考这个问题


小智 5

维基百科定义:

语言结构是程序的句法上允许的部分,它可以根据编程语言的规则由一个或多个词法标记形成。术语语言构造通常用作控制结构的同义词,不应与函数混淆。