 Each rule consists optionally of tests, operators, and output productions.A rule matches some part of the input program source character stream returning success or failure.On success the input is advanced over matched characters.