code: def subst(self, string, raw=0, target=None, source=None, conv=None, executor=None):
          
          gvars = self.gvars()
          lvars = self.lvars()
          lvars['__env__'] = self
          if executor:
              lvars.update(executor.get_lvars())
          return SCons.Subst.scons_subst(string, self, raw, target, source, gvars, lvars, conv)
docs: Recursively interpolates construction variables from the
          Environment into the specified string, returning the expanded
          result.  Construction variables are specified by a $ prefix
          in the string and begin with an initial underscore or
          alphabetic character followed by any number of underscores
          or alphanumeric characters.  The construction variable names
          may be surrounded by curly braces to separate the name from
          trailing characters.