Line 1: | Line 1: | ||
+ | = What is a Grammar = | ||
+ | |||
+ | = FIRST and FOLLOW sets = | ||
+ | |||
== Computing the FIRST Set == | == Computing the FIRST Set == | ||
Line 25: | Line 29: | ||
The algorithm should be repeated until the FOLLOW set remains unchanged. | The algorithm should be repeated until the FOLLOW set remains unchanged. | ||
− | + | = Exercises = | |
* [[Introduction to Syntax: Exercise 1]] | * [[Introduction to Syntax: Exercise 1]] |
The FIRST set for a given string or symbol can be computed as follows:
As an example, consider production X -> Y1...Yn
The FIRST set can also be computed for a string Y1...Yn much in the same way as in case 3 above.
The FOLLOW set is computed for non-terminals and indicates the set of terminal symbols that are possible after a given non-terminal. The special symbol $ is used to represent the end of phrase (end of input).
The algorithm should be repeated until the FOLLOW set remains unchanged.