- for (Hash_table_iter<int, Lookup*> ai(*lookup_p_tab_p_); ai.ok (); ai++)
- {
- delete ai.val ();
- }
-
- delete lookup_p_tab_p_;
-}
-
-Paper_def::Paper_def (Paper_def const&s)
- : Music_output_def (s)
-{
- lookup_p_tab_p_ = new Hash_table<int, Lookup*>;
- lookup_p_tab_p_->hash_func_ = int_hash;
-
- for (Hash_table_iter<int, Lookup*> ai(*s.lookup_p_tab_p_); ai.ok (); ai++)
- {
- Lookup * l = new Lookup (*ai.val ());
- set_lookup (ai.key(), l);
- }
-}
-
-SCM
-Paper_def::get_scm_var (SCM s) const
-{
- if (!scope_p_->elem_b (s))
- return SCM_BOOL_F;
-
- Identifier * id = scope_p_->elem (s);
-
- SCM z;
- SCM_NEWCELL (z);
- SCM_SETCAR(z, s);
-
- SCM val;
-
- if (dynamic_cast<Real_identifier*> (id))
- {
- Real r = *id->access_content_Real (false);
- val = gh_double2scm (r);
- }
- else
- {
- return SCM_BOOL_F;
- }
-
- SCM_SETCDR(z,val);
- return z;