Ejemplo n.º 1
0
sc_result utils_keynodes_initialize()
{
    resolve_keynode(keynode_nrel_idtf);
    resolve_keynode(keynode_nrel_main_idtf);
    resolve_keynode(keynode_nrel_system_identifier);
    resolve_keynode(keynode_system_element);

    return SC_RESULT_OK;
}
sc_result merge_keynodes_initialize()
{

    resolve_keynode(keynode_question_set_cantorization);

    resolve_keynode(keynode_nrel_answer);
    resolve_keynode(keynode_question_initiated);
    resolve_keynode(keynode_question);
    resolve_keynode(keynode_question_finished);
    resolve_keynode(keynode_system_element);

    return SC_RESULT_OK;
}
scp_result init_operator_keynodes()
{
    MAKE_DEFAULT_OPERAND_FIXED(scp_operator_atomic_type);
    MAKE_DEFAULT_OPERAND_FIXED(op_searchElStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_searchElStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_searchSetStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_searchSetStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_genEl);
    MAKE_DEFAULT_OPERAND_FIXED(op_genElStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_genElStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseEl);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseElStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseElStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseSetStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseSetStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifVarAssign);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifFormCont);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifCoin);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifEq);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifGr);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifType);
    MAKE_DEFAULT_OPERAND_FIXED(op_varAssign);
    MAKE_DEFAULT_OPERAND_FIXED(op_contAdd);
    MAKE_DEFAULT_OPERAND_FIXED(op_contDiv);
    MAKE_DEFAULT_OPERAND_FIXED(op_contMult);
    MAKE_DEFAULT_OPERAND_FIXED(op_contSub);
    MAKE_DEFAULT_OPERAND_FIXED(op_contPow);
    MAKE_DEFAULT_OPERAND_FIXED(op_contLn);
    MAKE_DEFAULT_OPERAND_FIXED(op_contSin);
    MAKE_DEFAULT_OPERAND_FIXED(op_contCos);
    MAKE_DEFAULT_OPERAND_FIXED(op_contTg);
    MAKE_DEFAULT_OPERAND_FIXED(op_contASin);
    MAKE_DEFAULT_OPERAND_FIXED(op_contACos);
    MAKE_DEFAULT_OPERAND_FIXED(op_contATg);
    MAKE_DEFAULT_OPERAND_FIXED(op_contAssign);
    MAKE_DEFAULT_OPERAND_FIXED(op_contErase);
    MAKE_DEFAULT_OPERAND_FIXED(op_print);
    MAKE_DEFAULT_OPERAND_FIXED(op_printNl);
    MAKE_DEFAULT_OPERAND_FIXED(op_printEl);
    MAKE_DEFAULT_OPERAND_FIXED(op_sys_search);
    MAKE_DEFAULT_OPERAND_FIXED(op_sys_gen);
    MAKE_DEFAULT_OPERAND_FIXED(op_call);
    MAKE_DEFAULT_OPERAND_FIXED(op_waitReturn);
    MAKE_DEFAULT_OPERAND_FIXED(op_waitReturnSet);
    MAKE_DEFAULT_OPERAND_FIXED(op_return);
    MAKE_DEFAULT_OPERAND_FIXED(op_sys_wait);
    resolve_keynode(scp_operator_atomic_type.addr,"scp_operator_atomic_type");
    resolve_keynode(op_searchElStr3.addr,"searchElStr3");
    resolve_keynode(op_searchElStr5.addr,"searchElStr5");
    resolve_keynode(op_searchSetStr3.addr,"searchSetStr3");
    resolve_keynode(op_searchSetStr5.addr,"searchSetStr5");
    resolve_keynode(op_genEl.addr,"genEl");
    resolve_keynode(op_genElStr3.addr,"genElStr3");
    resolve_keynode(op_genElStr5.addr,"genElStr5");
    resolve_keynode(op_eraseEl.addr,"eraseEl");
    resolve_keynode(op_eraseElStr3.addr,"eraseElStr3");
    resolve_keynode(op_eraseElStr5.addr,"eraseElStr5");
    resolve_keynode(op_eraseSetStr3.addr,"eraseSetStr3");
    resolve_keynode(op_eraseSetStr5.addr,"eraseSetStr5");
    resolve_keynode(op_ifVarAssign.addr,"ifVarAssign");
    resolve_keynode(op_ifFormCont.addr,"ifFormCont");
    resolve_keynode(op_ifCoin.addr,"ifCoin");
    resolve_keynode(op_ifEq.addr,"ifEq");
    resolve_keynode(op_ifGr.addr,"ifGr");
    resolve_keynode(op_ifType.addr,"ifType");
    resolve_keynode(op_varAssign.addr,"varAssign");
    resolve_keynode(op_contAdd.addr,"contAdd");
    resolve_keynode(op_contDiv.addr,"contDiv");
    resolve_keynode(op_contMult.addr,"contMult");
    resolve_keynode(op_contSub.addr,"contSub");
    resolve_keynode(op_contPow.addr,"contPow");
    resolve_keynode(op_contLn.addr,"contLn");
    resolve_keynode(op_contSin.addr,"contSin");
    resolve_keynode(op_contCos.addr,"contCos");
    resolve_keynode(op_contTg.addr,"contTg");
    resolve_keynode(op_contASin.addr,"contASin");
    resolve_keynode(op_contACos.addr,"contACos");
    resolve_keynode(op_contATg.addr,"contATg");
    resolve_keynode(op_contAssign.addr,"contAssign");
    resolve_keynode(op_contErase.addr,"contErase");
    resolve_keynode(op_print.addr,"print");
    resolve_keynode(op_printNl.addr,"printNl");
    resolve_keynode(op_printEl.addr,"printEl");
    resolve_keynode(op_sys_search.addr,"sys_search");
    resolve_keynode(op_sys_gen.addr,"sys_gen");
    resolve_keynode(op_call.addr,"call");
    resolve_keynode(op_waitReturn.addr,"waitReturn");
    resolve_keynode(op_waitReturnSet.addr,"waitReturnSet");
    resolve_keynode(op_return.addr,"return");
    resolve_keynode(op_sys_wait.addr,"sys_wait");

    return SCP_RESULT_TRUE;
}
scp_result init_operator_keynodes()
{
    MAKE_DEFAULT_OPERAND_FIXED(scp_operator_atomic_type);
    MAKE_DEFAULT_OPERAND_FIXED(op_searchElStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_searchElStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_searchSetStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_searchSetStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_genEl);
    MAKE_DEFAULT_OPERAND_FIXED(op_genElStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_genElStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseEl);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseElStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseElStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseSetStr3);
    MAKE_DEFAULT_OPERAND_FIXED(op_eraseSetStr5);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifVarAssign);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifFormCont);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifCoin);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifType);
    MAKE_DEFAULT_OPERAND_FIXED(op_varAssign);

#ifdef SCP_MATH
    MAKE_DEFAULT_OPERAND_FIXED(op_ifEq);
    MAKE_DEFAULT_OPERAND_FIXED(op_ifGr);
    MAKE_DEFAULT_OPERAND_FIXED(op_contAdd);
    MAKE_DEFAULT_OPERAND_FIXED(op_contDiv);
    MAKE_DEFAULT_OPERAND_FIXED(op_contMult);
    MAKE_DEFAULT_OPERAND_FIXED(op_contSub);
    MAKE_DEFAULT_OPERAND_FIXED(op_contPow);
    MAKE_DEFAULT_OPERAND_FIXED(op_contLn);
    MAKE_DEFAULT_OPERAND_FIXED(op_contSin);
    MAKE_DEFAULT_OPERAND_FIXED(op_contCos);
    MAKE_DEFAULT_OPERAND_FIXED(op_contTg);
    MAKE_DEFAULT_OPERAND_FIXED(op_contASin);
    MAKE_DEFAULT_OPERAND_FIXED(op_contACos);
    MAKE_DEFAULT_OPERAND_FIXED(op_contATg);
    MAKE_DEFAULT_OPERAND_FIXED(op_contDivInt);
    MAKE_DEFAULT_OPERAND_FIXED(op_contDivRem);
#endif

#ifdef SCP_STRING
    MAKE_DEFAULT_OPERAND_FIXED(op_contStringConcat);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringIfEq);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringIfGr);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringSplit);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringLen);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringSub);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringSlice);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringStartsWith);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringEndsWith);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringReplace);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringToUpperCase);
    MAKE_DEFAULT_OPERAND_FIXED(op_stringToLowerCase);
#endif

    MAKE_DEFAULT_OPERAND_FIXED(op_contAssign);
    MAKE_DEFAULT_OPERAND_FIXED(op_contErase);
    MAKE_DEFAULT_OPERAND_FIXED(op_print);
    MAKE_DEFAULT_OPERAND_FIXED(op_printNl);
    MAKE_DEFAULT_OPERAND_FIXED(op_printEl);
    MAKE_DEFAULT_OPERAND_FIXED(op_sys_search);
    MAKE_DEFAULT_OPERAND_FIXED(op_sys_gen);
    MAKE_DEFAULT_OPERAND_FIXED(op_call);
    MAKE_DEFAULT_OPERAND_FIXED(op_waitReturn);
    MAKE_DEFAULT_OPERAND_FIXED(op_waitReturnSet);
    MAKE_DEFAULT_OPERAND_FIXED(op_return);
    MAKE_DEFAULT_OPERAND_FIXED(op_sys_wait);
    MAKE_DEFAULT_OPERAND_FIXED(op_syncronize);
    resolve_keynode(scp_operator_atomic_type.addr, "scp_operator_atomic_type");
    resolve_keynode(op_searchElStr3.addr, "searchElStr3");
    resolve_keynode(op_searchElStr5.addr, "searchElStr5");
    resolve_keynode(op_searchSetStr3.addr, "searchSetStr3");
    resolve_keynode(op_searchSetStr5.addr, "searchSetStr5");
    resolve_keynode(op_genEl.addr, "genEl");
    resolve_keynode(op_genElStr3.addr, "genElStr3");
    resolve_keynode(op_genElStr5.addr, "genElStr5");
    resolve_keynode(op_eraseEl.addr, "eraseEl");
    resolve_keynode(op_eraseElStr3.addr, "eraseElStr3");
    resolve_keynode(op_eraseElStr5.addr, "eraseElStr5");
    resolve_keynode(op_eraseSetStr3.addr, "eraseSetStr3");
    resolve_keynode(op_eraseSetStr5.addr, "eraseSetStr5");
    resolve_keynode(op_ifVarAssign.addr, "ifVarAssign");
    resolve_keynode(op_ifFormCont.addr, "ifFormCont");
    resolve_keynode(op_ifCoin.addr, "ifCoin");
    resolve_keynode(op_ifType.addr, "ifType");
    resolve_keynode(op_varAssign.addr, "varAssign");

#ifdef SCP_MATH
    resolve_keynode(op_contAdd.addr, "contAdd");
    resolve_keynode(op_contDiv.addr, "contDiv");
    resolve_keynode(op_contMult.addr, "contMult");
    resolve_keynode(op_contSub.addr, "contSub");
    resolve_keynode(op_contPow.addr, "contPow");
    resolve_keynode(op_contLn.addr, "contLn");
    resolve_keynode(op_contSin.addr, "contSin");
    resolve_keynode(op_contCos.addr, "contCos");
    resolve_keynode(op_contTg.addr, "contTg");
    resolve_keynode(op_contASin.addr, "contASin");
    resolve_keynode(op_contACos.addr, "contACos");
    resolve_keynode(op_contATg.addr, "contATg");
    resolve_keynode(op_ifEq.addr, "ifEq");
    resolve_keynode(op_ifGr.addr, "ifGr");
    resolve_keynode(op_contDivInt.addr, "contDivInt");
    resolve_keynode(op_contDivRem.addr, "contDivRem");
#endif

#ifdef SCP_STRING
    resolve_keynode(op_contStringConcat.addr, "contStringConcat");
    resolve_keynode(op_stringIfEq.addr, "stringIfEq");
    resolve_keynode(op_stringIfGr.addr, "stringIfGr");
    resolve_keynode(op_stringSplit.addr, "stringSplit");
    resolve_keynode(op_stringLen.addr, "stringLen");
    resolve_keynode(op_stringSub.addr, "stringSub");
    resolve_keynode(op_stringSlice.addr, "stringSlice");
    resolve_keynode(op_stringStartsWith.addr, "stringStartsWith");
    resolve_keynode(op_stringEndsWith.addr, "stringEndsWith");
    resolve_keynode(op_stringReplace.addr, "stringReplace");
    resolve_keynode(op_stringToUpperCase.addr, "stringToUpperCase");
    resolve_keynode(op_stringToLowerCase.addr, "stringToLowerCase");
#endif

    resolve_keynode(op_contAssign.addr, "contAssign");
    resolve_keynode(op_contErase.addr, "contErase");
    resolve_keynode(op_print.addr, "print");
    resolve_keynode(op_printNl.addr, "printNl");
    resolve_keynode(op_printEl.addr, "printEl");
    resolve_keynode(op_sys_search.addr, "sys_search");
    resolve_keynode(op_sys_gen.addr, "sys_gen");
    resolve_keynode(op_call.addr, "call");
    resolve_keynode(op_waitReturn.addr, "waitReturn");
    resolve_keynode(op_waitReturnSet.addr, "waitReturnSet");
    resolve_keynode(op_return.addr, "return");
    resolve_keynode(op_sys_wait.addr, "sys_wait");
    resolve_keynode(op_syncronize.addr, "syncronize");

    return SCP_RESULT_TRUE;
}
Ejemplo n.º 5
0
scp_result scp_keynodes_init()
{
    scp_uint32 i = 0;
    char name[12];
    MAKE_DEFAULT_OPERAND_FIXED(scp_program);
    MAKE_DEFAULT_OPERAND_FIXED(agent_scp_program);

    MAKE_DEFAULT_OPERAND_FIXED(platform_independent_abstract_sc_agent);
    MAKE_DEFAULT_OPERAND_FIXED(abstract_sc_agent);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_sc_agent_program);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_primary_initiation_condition);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_inclusion);

    MAKE_DEFAULT_OPERAND_FIXED(question_scp_interpretation_request);
    MAKE_DEFAULT_OPERAND_FIXED(question_initiated);
    MAKE_DEFAULT_OPERAND_FIXED(question_finished_successfully);
    MAKE_DEFAULT_OPERAND_FIXED(question_finished_unsuccessfully);
    MAKE_DEFAULT_OPERAND_FIXED(useless_scp_process);
    MAKE_DEFAULT_OPERAND_FIXED(scp_process);
    MAKE_DEFAULT_OPERAND_FIXED(abstract_scp_machine);
    MAKE_DEFAULT_OPERAND_FIXED(formed_scp_program);
    MAKE_DEFAULT_OPERAND_FIXED(correct_scp_program);
    MAKE_DEFAULT_OPERAND_FIXED(incorrect_scp_program);
    MAKE_DEFAULT_OPERAND_FIXED(prepared_scp_program);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_scp_process);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_system_identifier);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_value);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_authors);
    MAKE_DEFAULT_OPERAND_FIXED(active_scp_operator);
    MAKE_DEFAULT_OPERAND_FIXED(active_sc_agent);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_then);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_else);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_goto);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_error);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_scp_program_var);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_scp_program_const);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_scp_program_copied_const);
    MAKE_DEFAULT_OPERAND_FIXED(nrel_template_of_scp_process_creation);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_params);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_operators);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_init);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_in);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_out);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_fixed);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_assign);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_set);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_erase);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_const);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_var);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_scp_const);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_scp_var);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_node);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_link);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_arc);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_edge);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_pos);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_neg);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_fuz);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_temp);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_perm);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_access);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_common);
    MAKE_DEFAULT_OPERAND_FIXED(rrel_pos_const_perm);
    MAKE_DEFAULT_OPERAND_FIXED(sc_event_elem);
    MAKE_DEFAULT_OPERAND_FIXED(sc_event_add_input_arc);
    MAKE_DEFAULT_OPERAND_FIXED(sc_event_add_output_arc);
    MAKE_DEFAULT_OPERAND_FIXED(sc_event_change_link_content);
    MAKE_DEFAULT_OPERAND_FIXED(sc_event_remove_input_arc);
    MAKE_DEFAULT_OPERAND_FIXED(sc_event_remove_output_arc);
    MAKE_DEFAULT_OPERAND_FIXED(order_role_relation);
    MAKE_DEFAULT_OPERAND_FIXED(ordinal_set_rrel);
    for (i = 1; i <= ORDINAL_RRELS_COUNT; i++)
    {
        MAKE_DEFAULT_OPERAND_FIXED(ordinal_rrels[i]);
    }
    for (i = 1; i <= ORDINAL_SET_RRELS_COUNT; i++)
    {
        MAKE_DEFAULT_OPERAND_FIXED(ordinal_set_rrels[i]);
    }

    resolve_keynode(scp_program.addr,"scp_program");
    resolve_keynode(abstract_scp_machine.addr,"abstract_scp_machine");
    resolve_keynode(formed_scp_program.addr,"formed_scp_program");
    resolve_keynode(correct_scp_program.addr,"correct_scp_program");
    resolve_keynode(incorrect_scp_program.addr,"incorrect_scp_program");
    resolve_keynode(prepared_scp_program.addr,"prepared_scp_program");
    resolve_keynode(agent_scp_program.addr,"agent_scp_program");
    resolve_keynode(platform_independent_abstract_sc_agent.addr,"platform_independent_abstract_sc_agent");
    resolve_keynode(abstract_sc_agent.addr,"abstract_sc_agent");
    resolve_keynode(nrel_sc_agent_program.addr,"nrel_sc_agent_program");
    resolve_keynode(nrel_primary_initiation_condition.addr,"nrel_primary_initiation_condition");
    resolve_keynode(nrel_inclusion.addr,"nrel_inclusion");
    resolve_keynode(question_scp_interpretation_request.addr,"question_scp_interpretation_request");
    resolve_keynode(question_initiated.addr,"question_initiated");
    resolve_keynode(question_finished_successfully.addr,"question_finished_successfully");
    resolve_keynode(question_finished_unsuccessfully.addr,"question_finished_unsuccessfully");
    resolve_keynode(useless_scp_process.addr,"useless_scp_process");
    resolve_keynode(scp_process.addr,"scp_process");
    resolve_keynode(nrel_scp_process.addr,"nrel_scp_process");
    resolve_keynode(nrel_authors.addr,"nrel_authors");
    resolve_keynode(nrel_system_identifier.addr,"nrel_system_identifier");
    resolve_keynode(active_scp_operator.addr,"active_scp_operator");
    resolve_keynode(active_sc_agent.addr,"active_sc_agent");
    resolve_keynode(nrel_then.addr,"nrel_then");
    resolve_keynode(nrel_else.addr,"nrel_else");
    resolve_keynode(nrel_goto.addr,"nrel_goto");
    resolve_keynode(nrel_error.addr,"nrel_error");
    resolve_keynode(nrel_scp_program_var.addr,"nrel_scp_program_var");
    resolve_keynode(nrel_scp_program_const.addr,"nrel_scp_program_const");
    resolve_keynode(nrel_scp_program_copied_const.addr,"nrel_scp_program_copied_const");
    resolve_keynode(nrel_template_of_scp_process_creation.addr,"nrel_template_of_scp_process_creation");
    resolve_keynode(rrel_params.addr,"rrel_params");
    resolve_keynode(rrel_operators.addr,"rrel_operators");
    resolve_keynode(nrel_value.addr,"nrel_scp_var_value");
    resolve_keynode(rrel_init.addr,"rrel_init");
    resolve_keynode(rrel_in.addr,"rrel_in");
    resolve_keynode(rrel_out.addr,"rrel_out");
    resolve_keynode(rrel_fixed.addr,"rrel_fixed");
    resolve_keynode(rrel_assign.addr,"rrel_assign");
    resolve_keynode(rrel_set.addr,"rrel_set");
    resolve_keynode(rrel_erase.addr,"rrel_erase");
    resolve_keynode(rrel_const.addr,"rrel_const");
    resolve_keynode(rrel_var.addr,"rrel_var");
    resolve_keynode(rrel_scp_const.addr,"rrel_scp_const");
    resolve_keynode(rrel_scp_var.addr,"rrel_scp_var");
    resolve_keynode(rrel_node.addr,"rrel_node");
    resolve_keynode(rrel_arc.addr,"rrel_arc");
    resolve_keynode(rrel_edge.addr,"rrel_edge");
    resolve_keynode(rrel_link.addr,"rrel_link");
    resolve_keynode(rrel_pos.addr,"rrel_pos");
    resolve_keynode(rrel_neg.addr,"rrel_neg");
    resolve_keynode(rrel_fuz.addr,"rrel_fuz");
    resolve_keynode(rrel_temp.addr,"rrel_temp");
    resolve_keynode(rrel_perm.addr,"rrel_perm");
    resolve_keynode(rrel_access.addr,"rrel_access");
    resolve_keynode(rrel_common.addr,"rrel_common");
    resolve_keynode(rrel_pos_const_perm.addr,"rrel_pos_const_perm");
    resolve_keynode(sc_event_elem.addr,"sc_event");
    resolve_keynode(sc_event_add_input_arc.addr,"sc_event_add_input_arc");
    resolve_keynode(sc_event_add_output_arc.addr,"sc_event_add_output_arc");
    resolve_keynode(sc_event_remove_input_arc.addr,"sc_event_remove_input_arc");
    resolve_keynode(sc_event_remove_output_arc.addr,"sc_event_remove_output_arc");
    resolve_keynode(sc_event_change_link_content.addr,"sc_event_change_link_content");
    resolve_keynode(order_role_relation.addr,"order_role_relation");

    for (i = 1; i <= ORDINAL_RRELS_COUNT; i++)
    {
        snprintf(name, 8, "rrel_%d", i);
        resolve_keynode(ordinal_rrels[i].addr,name);
    }
    for (i = 1; i <= ORDINAL_SET_RRELS_COUNT; i++)
    {
        snprintf(name, 12, "rrel_set_%d", i);
        resolve_keynode(ordinal_set_rrels[i].addr,name);
    }

    return init_operator_keynodes();
}