“语言构造”是什么意思?

时间:2012-04-07 19:15:25

标签: terminology

我正在从'Programming in C' by Stephen Kochan学习C语言。

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

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

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

10 个答案:

答案 0 :(得分:33)

首先,您需要了解constructed language是什么。所有编程语言都是构造语言(阅读参考资料)。您可以稍微阅读compiler construction,包括此reference

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

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

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

答案 1 :(得分:10)

语言构造是一种语言语法。例如,以下是C语言中的一种语言结构,它允许您控制程序的流程:

if ( condition ) {
  /* when condition is true */
} else {
  /* when condition is false */
}

它们通常使用术语语言构造,因为它们是大多数编程语言的一部分,但可能会以不同的方式编写,具体取决于语言。例如, bourne shell 中的类似语言构造将是:

if COMMAND; then
  # when command returns 0
else
  # when command returns anything else
fi

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

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

答案 2 :(得分:4)

它们是构建语言的基本单位。它们不能用作函数回滚。它们由解析器直接调用。 它包括语言的所有语法,语义和编码风格。 有关更多说明,请参阅this question

答案 3 :(得分:3)

在没有看到使用该短语的上下文的情况下,我无法确定,但通常短语“语言构造”仅仅意味着关键词,语法和编码语言结构的组合。基本上,如何格式化/编写/构造一段代码。

答案 4 :(得分:3)

Wikipedia定义:

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

答案 5 :(得分:1)

假设您要创建一个包含方法和属性的类,所以:

  

Construct是您即将创建的类的体系结构。该类的体系结构由您使用预定义实用程序创建的方法和属性组成(例如:'if','else','switch','break'等)

这是我对构造的看法。

答案 6 :(得分:1)

参考编程语言

pt := reflect.TypeOf(&MyPoint{})
ioReaderType := reflect.TypeOf((*io.Reader)(nil)).Elem()
fmt.Println(pt.Implements(ioReaderType))  //  ==> true

答案 7 :(得分:0)

C是一种结构语言,因此在编译代码时,所有内容都是逐句声明的。因此,有必要正确地陈述你的陈述。这种放置,即正确地放置您的语句是您的语言构造,否则可能存在语法错误或逻辑错误。

答案 8 :(得分:0)

根据GCSE本书的语言构造是编程语言的基本构建块。

1. Sequential,     
2. Selection, if, if/else    
3. Iteration, while, for  

答案 9 :(得分:0)

语言结构是一种语言语法

示例:

变量的声明是一种语言结构:

{
int a; // declaration of a variable "a"
}