Dvouúrovňová gramatika je formální gramatika , která se používá ke generování jiné formální gramatiky, například gramatiky s nekonečnou sadou pravidel. Takto byla van Wiingaardenova gramatika použita k definování jazyka Algol-68 . Bezkontextová gramatika , která definuje pravidla pro jinou gramatiku, může dát vzniknout v podstatě nekonečnému souboru odvozených gramatických pravidel. Díky tomu jsou dvouúrovňové gramatiky výkonnější než jednoúrovňové bezkontextové gramatiky, protože bylo prokázáno, že dvouúrovňové generativní gramatiky jsou Turingovy úplné. [jeden]
Dvouúrovňová gramatika může být také označována jako formální gramatika pro dvouúrovňový formální jazyk, tj. jazyk definovaný na dvou úrovních, jako je úroveň slova a úroveň věty.
Známým nekontextovým jazykem je
Dvouúrovňovou gramatikou pro to může být metagramatika
N ::= 1 | N1 X ::= a | b | Cspolu s gramatikou
Start ::= ::= ::= X