Terminal symbols are 'words' used in programming languages.
They can consist of one or more symbols and are usually separated by spaces.
Nonterminal symbols (or productions) can be used to produce structured sets of nonterminal symbols and / or terminal symbols.
Both terminal and nonterminal symbols are used in grammars, parsers, compilers and such (interpreters, translators, perhaps more).
There are also data 'words'.