Answer
Giving production rules in Backus–Naur form that generate
all identifiers in the C programming language.
--In C an identifier starts with a letter or an underscore (_) that
is followed by one or more
-- lowercase letters,
-- uppercase
--letters,
-- underscores,
--and digits.
Work Step by Step
(identifier) ::= (letterorus) | (identifier)(symbol)
(letterorus) ::= (letter) | _
(symbol) ::= (letterorus) | (digit)
(letter) ::= (lcletter) | (ucletter)
(lcletter) ::= a | b | c | · · · | z
(ucletter) ::= A | B | C | · · · | Z
(digit) ::= 0 | 1 | 2 | · · · | 9