docstr: Returns a generator which visits all nodes in expression tree in depth-first
  search (DFS) traversal order.
  
  Returns:
      the generator object.
docstr_tok: ["Returns","a","generator","which","visits","all","nodes","in","expression","tree","in","depth-first","search","(","DFS",")","traversal","order",".","Returns",":","the","generator","object","."]
code: def dfs(self):
      """Returns a generator which visits all nodes in expression tree in depth-first
      search (DFS) traversal order.
  
      Returns:
          the generator object.
      """
      yield self
      for child in self.children:
          yield from child.dfs()
  
imports: from abc import ABC, abstractmethod
  from collections import deque
  from copy import deepcopy
  from enum import IntEnum, auto, unique
  from typing import Any
label_desc: Use image node_id 16 for calling the AbstractExpression obj's underlying member method code with example usage: obj.dfs() without return types