/* (C) Copyright International Business Machines Corporation 23 January */
/* 1990.  All Rights Reserved. */
/*  */
/* See the file USERAGREEMENT distributed with this software for full */
/* terms and conditions of use. */
/* SCCS Info: @(#)resfuncs.h	1.5 3/13/90 */

objectp void_obj();

void p_mod_init();
void p_mod_end();
void p_mod_import();

void p_init_def_module();
void p_end_def_module();
void p_add_definition();

qual_name *p_qual_name();
qual_name *p_unqual_name();

objectp p_type_or_attr_name();
objectp p_attr_info();

void p_nominal_def();
void p_integer_def();
void p_real_def();
void p_boolean_def();
void p_enum_def();
void p_outport_def();
void p_inport_def();
void p_init_record_def();
void p_record_def();
void p_table_def();

void p_init_variant_def();
void p_variant_def();
void p_add_variant_case();

void p_init_enum_elements();
objectp p_get_enum_elements();
void p_add_enum();

void p_init_declaration_list();
objectp p_get_declaration_list();
objectp p_add_declaration();

decl *p_decl();

void p_init_formal_typestate();
objectp p_get_formal_typestate();
void p_add_formal_attribute();
objectp p_formal_attribute();

objectp p_formal_whole_object();
void p_init_formal_object_name();
objectp p_get_formal_object_name();
void p_add_component_name();

objectp p_formal_association();

void p_init_formal_object_name_list();
objectp p_get_formal_object_name_list();
void p_add_formal_object_name();
objectp p_whole_formal_object();

void p_init_keyset();
void p_add_key();
objectp p_get_keyset();

void p_reset_resenv();

void p_init_callmsg_def();
void p_set_callmsg();
objectp p_callmsg_def();

/* process modules */

void p_init_block();
void p_init_process();
objectp p_declare();
void p_end_proc_module();

void p_init_object_name();
objectp p_get_object_name();

objectp p_unaryop();
objectp p_binaryop();
objectp p_ternaryop();
objectp p_niladic_expr();
objectp p_unary_expr();
objectp p_binary_expr();
objectp p_literal();

void p_init_selector();
selrec *p_selector();
objectp p_unary_table_expr();

void p_init_while();
void p_mid_while();
objectp p_while();

objectp p_typed_expr();

objectp p_qliteral();
objectp p_end_process();

objectp p_function();
void p_init_call();
void p_add_callparm();
objectp p_end_call();

objectp p_user_exception();
objectp p_builtin_exception();
objectp p_merge_exceptions();
objectp p_merge_exits();

void p_init_exprblock();
objectp p_end_exprblock();

void p_init_inspect();
objectp p_end_compound_scope();

void p_init_statement_clause();
objectp p_end_statement_clause();
void p_init_expression_clause();
objectp p_end_expression_clause();

objectp p_select();
objectp p_select_guard_boolean();
objectp p_select_guard_event();
objectp p_select_guard_both();
objectp p_make_select_clauses();
objectp p_merge_select_clauses();

objectp make_mapping();
objectp combine_mappings();
objectp mapping_expression();

void p_load_link();
objectp p_link_process();

objectp p_set_stmt_pragma();
objectp p_if();
objectp p_print();
objectp p_copystmt();
objectp p_insertormergeat();
objectp p_remove_extract();
objectp p_return();
objectp p_send();
objectp p_unwrap();
objectp p_exit_statement();

void p_add_stmt();
