Terminale en niet-terminale symbolen

Uit Wikipedia, de vrije encyclopedie

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 | brontekst bewerken]

Voorbeeld 1[bewerken | brontekst bewerken]

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

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

Voorbeeld 2[bewerken | brontekst 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.