【问题标题】:The term "clause" in the context of programming编程上下文中的术语“子句”
【发布时间】:2011-06-20 03:48:33
【问题描述】:

我遇到过诸如 switch 语句上下文中的“默认子句”或 SQL 上下文中的“JOIN 子句”之类的语句,我知道这些语句的含义,但我仍然希望看到明确的术语定义。

【问题讨论】:

  • 不可能用与语言无关的术语来定义子句。你有特定的语言吗?
  • @Rafe - 我同意你不能在不引用特定语言的情况下定义哪些片段构成特定语言的子句,但肯定可以在不引用语言的情况下定义概念。

标签: language-agnostic terminology


【解决方案1】:

我认为在自然语言中句子和从属子句之间和在计算机语言中在语句和子句之间之间存在平行关系。

子句本身并不独立,只有在语句的上下文中才有意义。

例如,从句

  • “at 2:30”(状语从句)
  • WHERE A.ID = B.ID(JOIN 子句)

不要有意义地独自站立。但是,这些子句在句子或语句的上下文中是有意义的。

  • “2:30 见。”
  • 从 A、B 中选择 A.NAME、B.ADDRESS,其中 A.ID = B.ID

Java 的 switch 语句中的 default 子句是指如果检查的值都不匹配则采用的分支。 “违约”这个词有些问题,因为它通常意味着某种失败(如“您的抵押贷款违约”)。对于计算机语言,它往往意味着“未选择的选择”。

这是一个“条款”,因为它仅在其他选择的上下文中才有意义。

【讨论】:

  • 但是句子(或陈述)的任何部分都可以用“从句”来描述吗?
  • 不,从句是一个意义单位。语言学的一种理论被称为头部驱动的短语结构语法(HPSG)。这意味着一个短语不仅仅是一个单词序列,而是附加到一个头部的单词。例如,在句子“John hit the ball over the fence”中,从句“over the fence”是一个介词短语,其中的单词围绕着 Head(“over”)。 “ball over”没有相应的衔接或意义,因为它们属于不同的从句。同样,在上面的 Select 语句中,“WHERE A.ID=B.ID”有意义,但“B WHERE”没有。
【解决方案2】:

与编程中的许多术语一样,它仅表示English language 中的含义。

例如,当我第一次在 SQL 中看到COALESCE 时,我想“这到底是什么?”。但你知道吗?它按照锡上所说的做:

在语音和历史上 语言学、融合或合并, 是两个特征的合并 分割成一个。

【讨论】:

    【解决方案3】:

    这与英语(或其他语言)几乎相同。一个从句是一个句子的不完整片段,或者在这种情况下是一个语句,它封装了一个演员和一个动作。在您的连接子句示例中,操作是连接,参与者是要连接的表。

    【讨论】:

      猜你喜欢
      • 2011-06-16
      • 2020-07-09
      • 1970-01-01
      • 2013-08-04
      • 2014-09-11
      • 2018-04-04
      • 2013-12-23
      • 1970-01-01
      • 2011-03-16
      相关资源
      最近更新 更多