Технически, имена нетерминалов ничего не значат, по крайней мере, для алгоритма синтаксического анализа. Как и имя переменной в программе, их единственная цель - дать читателю подсказку.
В этом случае имена в основном просто условные обозначения, основанные на математической терминологии. Например, если мы напишем 3 * 7
, то мы бы сказали, что 3 и 7 являются факторами результата (21). На самом деле не существует общего слова для 3 + 7
, и называть их "термины", вероятно, проще, чем "слагаемые".
Причина, по которой мы их разделили, заключается в том, что мы хотим описать общее использование, в котором a + b * c
означает «сумму a
и b * c
». Другими словами, аргумент оператора «плюс» или «минус» может быть продуктом, но аргумент оператора «раз» или «делить» не может быть суммой, если он не заключен в скобки. (Как показывает грамматика, любое выражение, заключенное в скобки, является «фактором».)