"Saving/Restoring Instance Trees"

The below code is part of the code for saving/restoring instance trees. It thus allows the creation of persistent objects. At this time the format of the save_file is experimental, but has the following format:
  $DATE
  $VERSION

  $TYPES {
      name : module ;
      [...]
      name : module ;
  }

  $COMPLEX_INST index {
      type kind name nchildren/bytesize universal ;
  }

  $ATOM_INST index {
      $VALUE : value units ';'
      type kind name value units  ';' # -- for the atom children.
      type kind name value units  ';'
      type kind name value units  ';'
  }

  $RELATION index { # -- optional
      $VALUE : value units ';'
      $VARIABLES :
      index -> index ,index [..] ,index ';'
      $CONSTANTS :
      index -> index ,index [..] ,index ';'
      $OPCODES :
      index -> index ,index [..] ,index ';'
  }

  $LRELATION index { # -- optional
      $BVARIABLES :
      index -> index ,index [..] ,index ';'
      $BCONSTANTS :
      index -> index ,index [..] ,index ';'
      $LOPCODES :
      index -> index ,index [..] ,index ';'
  }

  $GRAPH {
      index -> index ,index [..] ,index ';'
      [...]
      index -> index ,index [..] ,index ';'
  }

  $CLIQUES {
      index -> index ,index [..] ,index ';'
      [...]
      index -> index ,index [..] ,index ';'
  }

Generated on Thu Jul 17 04:00:54 2008 for libascend by  doxygen 1.5.1