The correct option is C be evaluated only if the definition has synthesized attributes
Every S(Synthesized). attributed definition is L-attributed. For implementing inherited attributed during bottom-up parsing, extends to some, but not LR grammars. Consider the following example
Production Semantic Rule
S→L L. count : = 0
L→L1 1 L. count : = L. count : + 1
L→E print (L.count)
In the example above the nonterminal L in L→E inherits the count of the number of 1's generated by S. Since the production L→E is the first that a bottom. up parser would reduce by, the translator at the time can't know the number of 1's in the input. So in a bottom-up evaluation of a syntax directed definition, inherits attributes can't be evaluated if the definition is L-attributed in the given example. So we can say that L-attributed definition is based on simple LR(1) grammar, but it can't be implemented always but inherit attributes can be evaluated only if the definition has synthesized attributes.