帮老豆英语网

context-free grammar

英 /ˌkɒntekst ˈfriː ˈɡræmər/美 /ˌkɑːntekst ˈfriː ˈɡræmər/

n. 名词

上下文无关文法;短语结构文法

词义说明

核心含义是“上下文无关文法”,指在形式语言理论中,一种文法(重写规则系统)的产生式规则形如 A → γ,其中 A 是非终结符,γ 是终结符和非终结符的字符串。其关键特征在于,替换 A 时无需考虑其出现的上下文(即左右邻接的符号),因此称为“上下文无关”。该概念引申用于编程语言设计、编译器构造、自然语言处理等领域,表示一种能够描述大部分编程语言语法结构(如表达式、语句)的语法框架。它区别于上下文有关文法(context-sensitive grammar),后者产生式规则依赖上下文,表达能力更强。

词源解析

“context-free”由“context”(上下文)和“free”(自由的)构成,字面意为“不受上下文约束的”。“grammar”源自古希腊语“grammatikē tekhnē”(字母的艺术),后经拉丁语进入英语。该术语由语言学家诺姆·乔姆斯基(Noam Chomsky)在20世纪50年代提出,用于区分自然语言的形式化描述。记忆时可拆解为“context”(语境)、“free”(无)、“grammar”(文法),即“不依赖语境的文法”。

适用语境

该术语主要出现在计算机科学、数学、语言学等学术领域,尤其在形式语言理论、编译原理、自然语言处理等课程和论文中。在学术写作中,它用于严谨的定义和定理陈述;在工程技术文档(如编程语言规范)中,用于描述语法规则;在日常交流中极少使用,除非是相关领域的专业人士。不同场合下,其含义保持精确,但语气可能从理论性(如“CFG 的生成能力”)转向实用性(如“用 CFG 描述表达式优先级”)。

语法说明

该词组通常作为可数名词使用,复数形式为“context-free grammars”。常见句型包括:“A context-free grammar is a quadruple (N, Σ, P, S)”;“The language generated by a context-free grammar is called a context-free language.”。易错点:不要将其与“context-free language”(上下文无关语言)混淆,前者是文法,后者是文法生成的语言;另外,注意“context-free”作为复合形容词在名词前作定语时需连字符,如“context-free grammar”,但单独作表语时可不带连字符,如“This grammar is context-free.”。

相似词辨析

与“phrase-structure grammar”(短语结构文法)意义相近,但“context-free grammar”更具体,强调产生式的形式限制;而“phrase-structure grammar”有时泛指所有由短语结构规则组成的文法,包括上下文有关和上下文无关。与“regular grammar”(正则文法)相比,上下文无关文法的生成能力更强,能描述嵌套结构,如括号匹配;正则文法则限于有限状态。在语言学中,“context-free grammar”常与“transformational grammar”(转换生成文法)对比,后者在上下文无关基础上增加了转换规则。选择使用时,若强调规则形式,用“context-free grammar”;若强调语言类别,则用“context-free language”。

易错提醒

该术语属于专业术语,语域较高,多用于正式学术和技术文档。无褒贬色彩,仅具描述性。常见误用包括:将其与“context-free language”混用,或误以为“context-free”意味着语法规则完全不受上下文影响(其实仅指非终结符的替换独立于上下文,但规则本身仍可定义复杂结构)。此外,在非正式场合,有人可能用“context-free”形容“脱离语境的”,但这是误用,应避免。

高频搭配

  • context-free grammar (CFG)
  • context-free language
  • ambiguous grammar
  • production rule
  • parse tree
  • Chomsky normal form
  • pushdown automaton
  • grammar induction

双语例句

  1. In formal language theory, a context-free grammar is a set of recursive rewriting rules used to generate patterns of strings.在形式语言理论中,上下文无关文法是一组用于生成字符串模式的递归重写规则。
  2. The syntax of most programming languages can be specified by a context-free grammar.大多数编程语言的语法可以用上下文无关文法来规定。
  3. A context-free grammar consists of a set of nonterminals, terminals, production rules, and a start symbol.一个上下文无关文法由一组非终结符、终结符、产生式规则和一个开始符号组成。
  4. The parser uses a context-free grammar to check whether the source code is syntactically correct.解析器使用上下文无关文法来检查源代码的语法是否正确。
  5. Many natural language constructs, such as relative clauses, can be modeled by a context-free grammar.许多自然语言结构,如关系从句,可以用上下文无关文法来建模。