I am going through Wirth's Textbook on Compiler design . After proceeding though some pages , I realized I have taken for granted my understanding of some of the terminologies that have been used . For example ,the following terms :
the examples mentioned in the lines in the screenshot refer to the following set of equations :
Later on while describing the possibility of the conditions of deterministic algorithms being satisfied it says for an expresion of the following form :
"term_0 | term_1"
the terms must not feature any common starting symbols .And then it says this results in the exclusion of left recusrsion . If we consider the left recursive production :
A = A "a" | "b"
then the requirement is violated "b" is also a start symbol of "A" .
How is "b" a start symbol of "A" ? Basically from the definitions given I understood start symbol means the symbol for which an equation is deifined first ?
Why does common start symbol disturb the conditions of deterministic algorithm ?