This document discusses operator precedence parsers and how they are constructed. An operator precedence parser is built for operator precedence grammars, which do not contain epsilon productions or adjacent nonterminals on the right-hand side of productions. It describes how to generate a precedence function by partitioning symbols into groups based on precedence relations and building a directed graph to determine the longest paths. An example grammar is provided to illustrate how an operator precedence relation table and precedence relations graph are constructed from it. Finally, it notes some pros and cons of operator precedence grammars and how error recovery is handled.