I have recently been diving into the ECMAScript specification (v. 2017). To understand the various parts, it is key to fully grasp section 5, Notational Conventions.
Questions
- What are 
productions? - What are 
nonterminal symbols? - What are 
terminal symbols? 
The first mention of these concepts are in "5.1.1 Context-Free Grammars":
A context-free grammar consists of a number of productions. Each production has an abstract symbol called a nonterminal as its left-hand side, and a sequence of zero or more nonterminal and terminal symbols as its right-hand side. For each grammar, the terminal symbols are drawn from a specified alphabet.
Yet, I could not find an explanation of what is meant by the term production. Similarly, I was not able to figure out what terminal and nonterminal symbols are, and what the difference between the two is.