Source: https://wsu.edu/~gordonl/Grammar_Book/Chapter_3.pdf