形式文法 在形式语言理论中文法为了避免歧义常称作形式文法是形式语言中字符串的一套产生式规则英语Production computer science这些规则描述了如何用语言的字母表生成符合语法英语syntax programming languages的有效的字符串文法不描述字符串的含义也不描述在任何上下文中可以用它们做什么只描述它们的形式 形式语言理论是应用数学的一个分支是研究形式文法和语言的学科它在理論計算機科學理论语言学形式语义学数理逻辑等领域有着广泛的应用 形式文法是从一个开始符号出发的一套重写字符串的规则因此文法通常被认为是语言生成器然而它有时也可以用作识别器计算机学中的一种函数用于确定给定字符串是否属于该语言是否为语法错误的基础形式语言理论使用另一个理论来描述识别器也就是自動機理論自动机理论有一个有趣的结果某些形式语言是无法设计出识别器的 语法分析是通过将一段话语自然语言中的一个字符串分解成一组符号并根据语言的语法分析每一个符号的过程大多数语言的话语含义都是根据其句法结构来确定的这种做法被称为组合语义学因此在语言中描述话语含义的第一步就是把它分解成若干部分然后观察它经过分析后的形式在计算机科学中被称为分析树在生成文法中被称为深层结构