Las gramáticas booleanas , introducidas por Okhotin gramáticas formales estudiadas en la teoría formal del lenguaje . Extienden el tipo básico de gramáticas, las gramáticas libres de contexto , con operaciones de conjunción y negación . Además de estas operaciones explícitas, las gramáticas booleanas permiten la disyunción implícita representada por múltiples reglas para un único símbolo no terminal, que es el único conectivo lógico expresable en gramáticas libres de contexto. La conjunción y la negación se pueden utilizar, en particular, para especificar la intersección y el complemento de los idiomas. Una clase intermedia de gramáticas conocidas como gramáticas conjuntivas permiten la conjunción y la disyunción, pero no la negación.
, son una clase deLas reglas de una gramática booleana son de la forma
donde es un no terminal, y , ..., , , ..., son cadenas formadas por símbolos en y . De manera informal, dicha regla afirma que cada cadena sobre que satisface cada una de las condiciones sintácticas representadas por , ..., y ninguna de las condiciones sintácticas representadas por , ..., por lo tanto satisface la condición definida por .
Existen varias definiciones formales del lenguaje generado por una gramática booleana. Tienen una cosa en común: si la gramática se representa como un sistema de ecuaciones de lenguaje con unión, intersección, complementación y concatenación, los lenguajes generados por la gramática deben ser la solución de este sistema. La semántica difiere en los detalles, algunos definen los lenguajes utilizando ecuaciones de lenguaje, algunos se basan en ideas del campo de la programación lógica . Sin embargo, estas cuestiones no triviales de definición formal son en su mayoría irrelevantes para consideraciones prácticas, y uno puede construir gramáticas de acuerdo con la semántica informal dada. Las propiedades prácticas del modelo son similares a las de las gramáticas conjuntivas , mientras que las capacidades descriptivas se mejoran aún más. En particular, se conservan algunas propiedades prácticamente útiles heredadas de las gramáticas libres de contexto , como los algoritmos de análisis sintáctico eficientes, véase Okhotin (2010).