Terminale en niet-terminale symbolen

Wikimedia-doorverwijspagina

In de informatica en taalkunde worden terminale en niet-terminale symbolen gebruikt in de productieregels van een formele grammatica. De terminale symbolen vormen de symbolen in de strings die gegenereerd worden door de grammatica. De niet-terminale symbolen worden gebruikt om strings te vervangen door andere strings die bestaan uit terminale of niet-terminale symbolen. Zinnen in een formele taal worden gegenereerd door productieregels toe te passen op niet-terminale symbolen totdat de geproduceerde string geen niet-terminale symbolen meer bevat.

Voorbeelden

bewerken

Voorbeeld 1

bewerken

Stel we hebben een alfabet met de letters  ,   en  , het startsymbool   en de volgende productieregels:

  1.  
  2.  
  3.  
  4.  

In deze grammatica zijn   en   de niet-terminale symbolen en  ,   en   de terminale symbolen.

Voorbeeld 2

bewerken

Een ander voorbeeld, genoteerd in EBNF:

  1. Integer   (-)? Digit+
  2. Digit   0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

In deze grammatica zijn   de terminale symbolen en   de niet-terminale symbolen.