In one paragraph, explain how a compiler uses an abstract syntax tree.