Write a grammar for boolean expressions made up of propositions connected
through the following logical operators: AND, OR, NOT. A proposition
can be a single token or two tokens connected through one of the relational
operators: <, <=, =, <>, >=, >. A token is either an identifier or a number.
All logical operators are left associative. NOT has the highest precedence,
followed by AND, followed by OR.
Once you have defined the production rules of your grammar, show the steps
involved in a bottom-up (LR) parsing of the input expression "i>=0 AND NOT p".