在数学中,形式语言通常由字母表和构成规则定义。形式语言的字母表是构建该语言的符号集。字母表中的某些符号可能具有特殊含义。构成规则指定哪些符号串算作良构的。良构的符号串也称为词、表达式、公式或术语。构成规则通常是递归的。一些规则假定某些表达式属于所讨论的语言。另一些规则建立如何从属于该语言的其他表达式构建良构表达式。假定没有其他东西是良构表达式。
例如,命题演算的语言可以定义如下。该语言的字母表由带有可选索引的英文字母和以下特殊符号组成: (非),
(与),
(或),
(蕴含), 和
(分组)。然后,构成规则是每个英文字母和每个带索引的字母都是公式,并且如果
和
是公式,那么
,
,
,
, 和
也是公式。
构成规则足以定义简单语言。更语法复杂的语言通过语法或正则表达式来定义。
命题演算的构成规则和大多数其他构成规则可以径直转换为语法产生式。例如,构成规则 变为产生式
,其中
是起始符号。