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.