ARB
Classes | Macros | Functions | Variables
mkptypes.cxx File Reference
#include <cstddef>
#include <cstdlib>
#include <cassert>
#include <unistd.h>
#include <cstdio>
#include <cctype>
#include <cstring>
#include <cstdarg>
#include <arb_early_check.h>
#include <attributes.h>
#include <arb_simple_assert.h>
#include <arbtools.h>
Include dependency graph for mkptypes.cxx:

Go to the source code of this file.

Classes

struct  SymPart
 
struct  Word
 
class  LinePart
 
class  PartQueue
 
class  AttributeParser
 
struct  promotion
 

Macros

#define mp_assert(cond)   arb_assert(cond)
 
#define DEBUG_PRINT(s)
 
#define DEBUG_PRINT_STRING(name, str)
 
#define PRINT(s)   fputs((s), stdout)
 
#define IS_CSYM(x)   ((x) > 0 && (isalnum(x) || (x) == '_'))
 
#define ABORTED   ((Word *) -1)
 
#define MAXPARAM   20
 
#define NEWBUFSIZ   (20480*sizeof(char))
 
#define MAX_COMMENT_SIZE   10000
 
#define IS_PARM_NAME(w)
 
#define DUMMY_COUNTER_POS   6
 

Functions

static void Version ()
 
static void errorAt (long line, const char *msg)
 
static void error (const char *msg)
 
static void errorf (const char *format,...) __attribute__((format(__printf__
 
static SymPartmakeSymPart (char *token)
 
static void addSymParts (SymPart *&symParts, const char *parts)
 
static bool matchesSymPart (const SymPart *symParts, const char *name)
 
static void freeSymParts (SymPart *&symParts)
 
void addRequiredSymParts (const char *parts)
 
void addExcludedSymParts (const char *parts)
 
void freeRequiredSymParts ()
 
void freeExcludedSymParts ()
 
bool hasRequiredSymPart (const char *name)
 
bool hasExcludedSymPart (const char *name)
 
bool wantPrototypeFor (const char *name)
 
static Wordword_alloc (const char *s)
 
static void word_free (Word *&word)
 
static int List_len (Word *w)
 
static Wordword_append (Word *w1, Word *w2)
 
static int foundin (Word *w1, Word *w2)
 
static void addword (Word *w, const char *s)
 
static void typefixhack (Word *w)
 
static int ngetc (FILE *f)
 
static void clear_found_attribute ()
 
static const charnextNonSpace (const char *ptr)
 
static const charnextNonWord (const char *ptr)
 
const charmatchingParen (const char *from)
 
static void search_comment_for_attribute ()
 
static void add_promotion (char *to_promote)
 
static void print_promotions ()
 
static void search_comment_for_promotion ()
 
static int fnextch (FILE *f)
 
static int nextch (FILE *f)
 
static int getsym (char *buf, FILE *f)
 
static int skipit (char *buf, FILE *f)
 
static int is_type_word (char *s)
 
static Wordtypelist (Word *p)
 
static Wordgetparamlist (FILE *f)
 
WordgetLastPtrRef (Word *w)
 
static void emit (Word *wlist, Word *plist, long startline)
 
static void getdecl (FILE *f, const char *header)
 
static __ATTR__NORETURN void Usage (const char *msg=NULp)
 
static int string_comparator (const void *v0, const void *v1)
 
static __ATTR__NORETURN void MissingArgumentFor (char option)
 
static __ATTR__NORETURN void UnknownOption (char option)
 
int ARB_main (int argc, char *argv[])
 

Variables

static int donum = 0
 
static int define_macro = 0
 
static int use_macro = 0
 
static int use_main = 0
 
static int no_parm_names = 0
 
static int print_extern = 0
 
static int dont_promote = 0
 
static int promote_lines = 0
 
static int aisc = 0
 
static int cansibycplus = 0
 
static int promote_extern_c = 0
 
static int extern_c_seen = 0
 
static int search__ATTR__ = 0
 
static const charinclude_wrapper = NULp
 
static int inquote = 0
 
static int newline_seen = 1
 
static int glastc = ' '
 
static charcurrent_file = NULp
 
static charcurrent_dir = NULp
 
static const charheader_comment = NULp
 
static long linenum = 1L
 
static char const * macro_name = "P_"
 
static char const * ourname
 
static SymPartrequiredSymParts = NULp
 
static SymPartexcludedSymParts = NULp
 
static char last_comment [MAX_COMMENT_SIZE]
 
static int lc_size = 0
 
static charfound__ATTR__ = NULp
 
static promotionpromotions = NULp
 
static const charpromotion_tag = "AISC_MKPT_PROMOTE:"
 
static int promotion_tag_len = 18
 

Macro Definition Documentation

#define mp_assert (   cond)    arb_assert(cond)
#define DEBUG_PRINT (   s)
#define DEBUG_PRINT_STRING (   name,
  str 
)

Definition at line 45 of file mkptypes.cxx.

Referenced by emit().

#define PRINT (   s)    fputs((s), stdout)

Definition at line 48 of file mkptypes.cxx.

Referenced by emit().

#define IS_CSYM (   x)    ((x) > 0 && (isalnum(x) || (x) == '_'))

Definition at line 50 of file mkptypes.cxx.

Referenced by emit(), getsym(), and typelist().

#define ABORTED   ((Word *) -1)

Definition at line 51 of file mkptypes.cxx.

Referenced by getdecl(), and getparamlist().

#define MAXPARAM   20

Definition at line 52 of file mkptypes.cxx.

Referenced by getparamlist().

#define NEWBUFSIZ   (20480*sizeof(char))

Definition at line 53 of file mkptypes.cxx.

Referenced by ARB_main().

#define MAX_COMMENT_SIZE   10000

Definition at line 345 of file mkptypes.cxx.

Referenced by fnextch().

#define IS_PARM_NAME (   w)
Value:
(IS_CSYM(*(w)->string) && !is_type_word((w)->string) && \
(!(w)->next || *(w)->next->string == ',' || \
*(w)->next->string == '['))
static int is_type_word(char *s)
Definition: mkptypes.cxx:898
#define IS_CSYM(x)
Definition: mkptypes.cxx:50

Definition at line 922 of file mkptypes.cxx.

Referenced by emit().

#define DUMMY_COUNTER_POS   6

Referenced by getparamlist().

Function Documentation

static void Version ( )
static

Definition at line 1762 of file mkptypes.cxx.

Referenced by ARB_main().

static void errorAt ( long  line,
const char msg 
)
static

Definition at line 86 of file mkptypes.cxx.

Referenced by error(), fnextch(), getsym(), and nextch().

static void error ( const char msg)
static

Definition at line 96 of file mkptypes.cxx.

References errorAt(), and linenum.

Referenced by GB_MAIN_TYPE::abort_transaction(), PlugIn::activate(), ad_move_tree_info(), ad_tree_set_security(), adaptCopiedAlignment(), awt_linked_to_item::add_db_callbacks(), AW_gc_manager::add_gc_range(), add_probe_to_collection_event(), add_rule_cb(), add_species_to_list_cb(), add_species_to_merge_list(), addid_changed_cb(), RefEntries::addRefsTo(), FINAL_TYPE< SEQTYPE >::addSequence(), adjustTreeRoot(), aed_start_naligning(), ali_checklen_cb(), ali_format_cb(), ALI_realign_marked(), ALI_translate_marked(), SEC_region::align_helix_strands(), alignCompactedTo(), alignTo(), alignToGroupConsensus(), alignToNextRelative(), arb_mem::alloc_aligned(), AP_calc_pos_var_pars(), SaiAciApplicator::apply(), EditedTerminal::apply(), apply_ACI(), TreeNode::apply_aci_to_remarks(), apply_command_to_alignment(), apply_filters(), AliApplicable::apply_to_alignment(), apply_to_origin(), applyToItemFoundByKey(), ARB_bind_global_awars(), ARB_delete_columns_using_SAI(), ARB_insdel_columns(), ARB_insert_columns_using_SAI(), arb_look_and_kill_server(), arb_look_and_start_server(), ARB_main(), arb_open_socket(), arb_open_tcp_socket(), arb_open_unix_socket(), arb_prm_menu(), arb_shell_expand(), arb_start_server(), ARB_textfiles_have_difflines(), arb_wait_for_server(), ARB_zfclose(), FINAL_TYPE< SEQTYPE >::ArbWriter(), askCopyMoveRuleset_cb(), AW_awar::AW_awar(), AW_create_fileselection_awars(), AW_edit(), AW_forget_all_window_geometry(), AW_get_font_specification(), aw_help_show_external_format(), aw_initstatus(), AW_openURL(), aw_question(), AW_save_specific_properties(), AW_select_nameserver(), AW_xfig::AW_xfig(), awt_aps_go(), awt_create_input_mask(), AWT_initialize_input_mask(), awt_open_ACI_URL_with_item(), awt_openDefaultURL_on_selected_species(), awt_openDefaultURL_with_item(), awt_rename_cb(), AWT_trigger_remote_action(), awtc_delete_names_file(), awtc_nn_search(), awtc_nn_search_all_listed(), AWTC_recreate_name(), AP_sequence::bind_to_species(), MostLikelySeq::bind_to_species(), boolchain_gui_changed_cb(), boundloc_changed_cb(), build_reverse_complement(), calc_and_update_alignment_errors_cb(), calc_pvp(), ST_ML::calc_st_ml(), ColumnStat::calculate(), DI_MATRIX::calculate(), calculate_and_check_ranges(), calculate_clusters(), PH_filter::calculate_column_homology(), call_edit(), cannot_fast_align(), AP_tree::cantMoveNextTo(), canvas_to_printer(), canvas_to_xfig(), canvas_to_xfig_and_run_xfig(), change_constraints(), FoundGroup::change_folding(), VarUpdateInfo::change_from_widget(), AliCompositeCommand::check_applicable_to(), check_argument_for_mode(), TrackedFiles::check_changes(), check_for_remote_command(), FieldTransfer::WriteRule::check_hkey(), check_valid_target_fts(), checkAndMergeFields(), cleanup_ptserver_database(), clear_all_colors(), clear_all_colors_cb(), clear_temp_flags(), clearMacroExecutionAuthorization(), GB_transaction::close(), BufferedPipeReader::close(), ClustalV_align(), colorize_marked_cb(), colorize_queried_cb(), colstat_2_gnuplot_cb(), GB_MAIN_TYPE::commit_transaction(), DI_MATRIX::compress(), compress_sequence_tree(), CON_calc_max_freq(), CON_calc_max_freq_cb(), CON_calculate(), CON_calculate_cb(), concatenateAlignments(), concatenateFieldsCreateNewSpecies(), config_comment_changed_cb(), config_rename_handler(), configure_macro_recording(), NameServerConnection::connect(), FieldTransfer::convertAndWrite(), copy_field_into_partial_alignments(), copy_move_del_alignment(), copy_rename_handler(), copy_SAI_cb(), copy_SAI_to_species_cb(), QUERY::copy_selection_list_2_query_box(), copyMoveRuleset_cb(), SequenceHandler::create(), create_ali_handler(), create_ali_intEntry(), create_ali_strEntry(), create_concatInfo_SAI(), create_consense_tree_cb(), create_data_entry(), create_gene_species(), create_list_of_loaded_species(), create_macro_variables(), create_modify_fields_window(), create_new_species(), create_split_gene(), createCopy_table_handler(), createDataFromConsensus(), createRuleset_cb(), RootSynchronizer::deconstruct_all_trees(), DeconstructedTree::deconstruct_weighted(), ScrollSynchronizer::define_dependency(), del_rule_cb(), EntryRemover::del_unwanted_entries(), delete_ali_cb(), GroupSearch::delete_found_groups(), FoundGroup::delete_from_DB(), delete_kept_ghostnodes(), delete_queried_species_cb(), delete_SAI_cb(), TreeAdmin::delete_tree_cb(), deleteDataOfKey(), deleteRuleset_cb(), deleteSuperfluousQuicksaves(), ArbImporter::detect_format(), di_autodetect_callback(), di_calculate_compressed_matrix_cb(), di_calculate_full_matrix_cb(), di_calculate_matrix(), di_calculate_tree_cb(), di_mark_by_distance(), di_save_matrix_cb(), di_view_matrix_cb(), distribute_xdata(), AP_sequence::do_lazy_load(), do_sth_with_species(), dot_missing_bases(), dot_sequence_by_consensus(), ed4_create_all_awars(), ED4_create_modsai_window(), ED4_jump_to_cursor_position(), ED4_load_new_config(), ED4_pfold_calculate_secstruct_match(), ED4_pfold_predict_structure(), ED4_pfold_set_SAI(), ED4_remove_faligner_entries(), ED4_set_protection(), ED4_show_protein_match_on_device(), ED4_start_editor_on_configuration(), ED4_start_plugin(), ED4_toggle_detailed_column_stats(), ED4_undo_redo(), ED4_with_whole_block(), edit_SAI_description(), editRuleset_cb(), ensure_trees_have_order(), enter_stage_1_build_tree(), enter_stage_2_load_tree(), AWT_configuration::erase_deleted_configs(), error_with_dbentry(), errorf(), exec_macro_cb(), MacroRecorder::execute(), execute_macro(), executeKeystroke(), EXP_get_first_experiment_data(), expandSetVariables(), expectContent(), BaseCounter::expectEqual(), expectToken(), experiment_copy_handler(), experiment_create_handler(), experiment_delete_cb(), experiment_rename_handler(), SEQIO::export_by_format(), export_format_multiple(), export_format_single(), export_go_cb(), export_nds_cb(), export_newick(), export_seq_data(), export_species_using_form(), export_structure_to_file(), export_to_DB(), export_tree_label(), export_tree_node_print(), export_tree_node_print_xml(), export_write_species(), extended_rename_handler(), DI_MATRIX::extract_from_tree(), FastSearchSequence::fast_align(), FastAligner_delete_temp_entries(), FastAligner_start(), field_convert_commit_cb(), field_create_cb(), field_delete_cb(), Itemfield_Selection::fill(), find_sub_sub_by_quark(), findAffectedKeys(), findOrCreate_configuration(), Structure3D::FindTypeOfRNA(), FINAL_TYPE< SEQTYPE >::finish(), firstCharOfAwarOrDefault(), flush_taxonomy_cb(), fnextch(), GroupSearch::fold_found_groups(), CheckedConsistencies::forgetDoneChecks(), format(), g_b_check_undo_size(), g_b_undo(), g_bs_convert_string_to_tagged_hash_with_rewrite(), gb_abort_and_close_all_DBs(), gb_add_reference(), GB_append_exportedError(), gb_build_uncompress_tree(), GB_clear_macro_error(), GB_clone(), gb_clone_explicit(), GB_close(), gb_commit_transaction_local_rek(), gb_convert_compression(), gb_convert_V2_to_V3(), gb_copy_explicit(), GB_copy_file(), gb_create_dictionaries(), GB_create_directory(), GB_create_index(), GB_create_parent_directory(), gb_create_reference(), GB_delete(), GB_delete_database(), gb_delete_reference(), GB_end_transaction(), GB_failedTo_error(), GB_finish_stream_save(), GB_fopen_tempfile(), GB_get_dictionary(), GB_get_macro_error(), GB_install_pid(), GB_IO_error(), GB_is_dictionary_compressed(), gb_is_valid_mapfile(), gb_load_dictionary_data(), gb_load_key_data_and_dictionaries(), GB_login(), GB_move_file(), GB_optimize(), gb_parse_ascii(), gb_parse_ascii_rek(), gb_read_ascii_beyond_header(), gb_read_bin(), GB_release(), gb_remove_all_but_main(), gb_remove_quick_saved(), GB_request_undo_type(), gb_resort_system_folder_to_top(), GB_safe_atof(), GB_safe_copy_file(), GB_safe_rename_file(), gb_save_dictionary_data(), GB_save_in_arbprop(), gb_save_mapfile(), gb_scan_directory(), gb_search_system_folder(), GB_searchOrCreate_float(), GB_searchOrCreate_int(), GB_searchOrCreate_string(), gb_security_error(), gb_set_compression(), GB_set_dictionary(), GB_set_macro_error(), GB_set_temporary(), gb_set_undo_sync(), GB_stream_save_part(), GB_symlink(), GB_textprint(), gb_transactable_type(), gb_type_writeable_to(), gb_uncompress_by_dictionary(), gb_uncompress_data(), GB_undo(), gb_unfold(), GB_write_autoconv_string(), GB_write_string(), gbcm_unfold_client(), gbcm_write_bin(), gbcmc_begin_transaction(), GBCMC_find(), gbcmc_init_transaction(), gbcmc_key_alloc(), gbcmc_send_undo_commands(), gbcmc_unfold_list(), GBCMS_accept_calls(), GBCMS_open(), gbcms_sighup(), gbcms_talking(), gbcms_talking_unfold(), gbcms_write_updated(), GBK_system(), GBK_test_address(), gbl_ali_name(), gbl_apply_binary_operator(), gbl_change_gc(), gbl_command(), gbl_do(), gbl_drop(), gbl_eval(), gbl_exec(), gbl_export_sequence(), gbl_filter(), gbl_findgene(), gbl_read_seq_sai_or_species(), gbl_select(), gbl_sequence(), gbl_sequence_type(), gbl_srt(), gbl_taxonomy(), GBP_add_callback(), GBP_remove_callback(), GBS_compile_matcher(), GBS_eval_env(), GBS_get_arb_tcp_entries(), GBS_modify_tagged_string_with_ACI(), GBS_read_arb_tcp(), GBS_string_eval_in_env(), GBT_add_alignment_changekeys(), GBT_add_data(), GBT_add_new_changekey_to_keypath(), GBT_begin_rename_session(), GBT_check_alignment(), GBT_check_alignment_name(), GBT_check_arb_file(), GBT_check_data(), GBT_check_tree_name(), GBT_commit_rename_session(), GBT_compress_sequence_tree2(), GBT_convert_changekey(), GBT_copy_tree(), GBT_create(), GBT_create_alignment(), GBT_create_sequence_data(), GBT_find_or_create_item_rel_item_data(), GBT_gen_accession_number(), GBT_get_configuration_names(), GBT_get_tree_names(), gbt_is_invalid(), GBT_is_partial(), GBT_link_tree(), gbt_link_tree_to_hash_rek(), GBT_link_tree_using_species_hash(), GBT_load_colorset(), GBT_log_to_tree_remark(), GBT_macro_execute(), GBT_message(), GBT_move_tree(), GBT_open(), GBT_read_gene_sequence_and_length(), GBT_read_tree_and_size(), GBT_remote_action_with_timeout(), GBT_remote_awar(), GBT_remote_read_awar(), gbt_rename_alignment_of_item(), GBT_rename_species(), GBT_rename_tree(), GBT_set_alignment_len(), GBT_set_startup_alignment(), gbt_set_type_of_changekey(), GBT_tree_2_newick(), gbt_wait_for_remote_action(), GBT_with_stored_species(), GBT_write_byte(), GBT_write_float(), GBT_write_group_name(), GBT_write_int(), GBT_write_string(), gbt_write_tree(), gbt_write_tree_nodes(), GBT_write_tree_with_remark(), GDE_startaction_cb(), GEN_create_nds_vars(), GEN_create_nonexisting_gene_rel_gene_data(), gen_extract_gene_2_pseudoSpecies(), GEN_find_or_create_gene_rel_gene_data(), GEN_get_first_gene_data(), Sonde::gen_Hitliste(), GEN_is_genome_db(), GEN_mark_organism_or_corresponding_organism(), GEN_perform_command(), GEN_read_position(), GEN_species_add_entry(), GEN_testAndRemoveTranslations(), GEN_undo_cb(), GEN_write_position(), gene_changed_cb(), gene_copy_handler(), gene_create_cb(), gene_delete_cb(), gene_extract_handler(), gene_rename_handler(), RefEntries::generate_item_error(), ConsensusTreeBuilder::get(), MO_Liste::get_all_species(), RootSynchronizer::get_DeconstructedTree(), Deletable::get_delete_error(), FINAL_TYPE< SEQTYPE >::get_error(), CLI::get_error(), TrackedFiles::get_error(), export_sequence_data::get_export_sequence(), SEQIO::get_exportFormat_information(), FINAL_TYPE< SEQTYPE >::get_marker_name(), FINAL_TYPE< SEQTYPE >::get_target_data(), AWT_configuration_selection::getConfigInfo(), GetDisplayInfo(), getenv_autodirectory(), SequenceHandler::getError(), getsym(), GI_importGenomeFile(), GLE_update_from_detailFields(), GLE_update_from_location(), grl_aid(), grl_groupsize(), grl_hitcount(), grl_hitidx(), grl_markedingroup(), grl_nesting(), group_clusters(), group_set_folded(), group_species(), MacroRecorder::handle_tracked_client_action(), hide_field_cb(), ArbImporter::import_data(), import_structure_from_file(), GBENTRY::index_check_out(), probe_input_data::init(), init(), init_data(), init_myers(), init_show_pair(), init_tmp_branch(), BI_helix::initFromData(), insdel_event(), insdel_sai_event(), insert_genes_of_organism(), insert_interruption_to_macro_cb(), InsertDatainGDE(), FieldTransfer::ItemClonedByRuleSet::ItemClonedByRuleSet(), launch_MapViewer_cb(), awt_input_handler::link_to(), link_to_tree(), ARB_seqtree_root::linkToDB(), StorableSelectionList::load(), AWT_configuration::Load(), DI_MATRIX::load(), load_and_add_tree(), load_and_startup_main_window(), load_cb(), AWT_graphic_tree::load_from_DB(), load_list_cb(), load_search_paras_from_file(), PARSIMONY_testenv< SEQTYPE >::load_tree(), LoadData(), LoadFile(), FieldTransfer::RuleSet::loadFrom(), ARB_seqtree_root::loadFromDB(), AP_tree_root::loadFromDB(), LoadMenus(), loadsave_colorset_cb(), GB_MAIN_TYPE::login_remote(), macro_terminated(), main(), SaiBoolRule::make(), SaiBoolchainOperator::make(), FilterDefinition::make_filter(), AW_awar::make_global(), di_protdist::makedists(), FieldTransfer::Rule::makeFromConfig(), AW_awar::map(), Structure3D::MapCurrentSpeciesToEcoliTemplate(), mark_action(), mark_as_macro_executor(), mark_nontree_cb(), GroupUIdata::mark_species(), mark_tree_cb(), ED4_container::members_ok(), MERGE_create_main_window(), MERGE_sequences_simple(), mergeSimilarSpecies(), MG_adaptAllCopiedAlignments(), mg_check_field_cb(), MG_config_delete_cb(), MG_copy_and_check_alignments(), MG_create_db_dependent_rename_awars(), MG_create_merge_configs_window(), MG_create_merge_species_window(), MG_create_merge_trees_window(), MG_equal_alignments(), MG_expect_renamed(), MG_export_fields(), MG_extended_delete_cb(), MG_merge_tagged_field_cb(), MG_save_cb(), MG_save_quick_result_cb(), MG_transfer_config(), MG_transfer_extended(), MG_transfer_fields_info(), mg_transfer_listed_species(), MG_transfer_one_species(), mg_transfer_selected_species(), MG_transfer_tree(), MG_update_example(), mg_xfer_via_fts(), modify_fields_of_queried_cb(), modify_probe_event(), modify_target_string(), modsai_cb(), AP_tree::move_group_to(), move_species_to_extended(), mp_file2list(), mp_list2file(), multiroot_sync_subsetTrees(), nds_create_vars(), nds_delete_database_entries(), nds_maintain_viewkeys(), NDS_popup_select_srtaci_window(), nds_restore_config(), ArbImporter::next_file(), nextch(), no_files_found_error(), nt_add(), nt_add_partial(), NT_alltree_remove_leafs(), nt_best_partial_match_rec(), NT_convert_gene_locations(), NT_count_different_chars(), nt_create_all_awars(), nt_create_config_after_import(), nt_create_configuration(), NT_create_main_window(), NT_create_sai_from_pfold(), NT_database_optimization(), NT_del_mark_move_REF(), nt_delete_configuration(), nt_delete_database(), NT_delete_mark_all_cb(), NT_deleteValidNames(), NT_edit_bootstrap(), nt_extract_configuration(), NT_fix_gene_data(), NT_importValidNames(), nt_intro_start_existing(), NT_mark_all_cb(), NT_reload_tree_event(), NT_resort_data_by_phylogeny(), nt_run(), NT_save_as_cb(), NT_save_quick_as_cb(), NT_save_quick_cb(), nt_seq_load_cb(), nt_species_join(), NT_start_editor_on_tree(), NT_undo_cb(), NT_with_displayed_tree_do(), NTREE_move_tree_info(), ok_pressed(), AP_main::open(), PH_root::open(), SelectedDatabase::open_db_for_merge(), openMaskWindowByType(), revcomp_op::operate(), SpecificAliData< char >::operate_on_mem(), overwriteSelectedRule(), SAI_graphic::paint(), SEC_root::paint(), GB_MAIN_TYPE::panic_save(), pars_check_size(), pars_create_all_awars(), pars_generate_aliview(), pars_start_cb(), NtreeCommandLine::parse(), parseCSV(), parseFontString(), parsePositions(), parsesize(), pd_export_pt_server(), pd_get_the_gene_names(), pd_get_the_names(), pd_kill_pt_server(), pd_query_pt_server(), pd_start_pt_server(), perform_block_operation_on_part_of_sequence(), perform_block_operation_on_whole_sequence(), CheckedConsistencies::perform_item_checks(), perform_query_cb(), RefEntries::perform_refentries(), GroupSearch::perform_search(), PH_create_ml_multiline_SAI(), PH_save_ml_cb(), PH_save_ml_multiline_cb(), prepare_and_get_selected_itemfield(), SpeciesFlag::prepare_itemfield(), primer_design_event_go(), primer_design_event_init(), probe_design_event(), probe_match_all_event(), probe_match_event(), probe_match_event_using_awars(), probe_match_with_specificity_event(), probe_read_data_base(), protect_corruption_error(), PT_forwhole_chain(), PT_init_input_data(), pt_init_main_struct(), PT_init_map(), PT_prepare_data(), PT_prepare_species_sequence(), PT_start_design(), PTD_read_leafs_from_disk(), PTD_write_leafs_to_disk(), ptserver(), ptserver_gene(), PV_ComplementarySequence(), PV_WriteTranslatedSequenceToDB(), PVP_calculate(), react_to_command(), SEC_region::read(), ArbImporter::read_data(), SEC_root::read_data(), read_export_format(), ArbImporter::read_format(), read_import_format(), read_tree_and_size_internal(), readAndWrite(), ReadArbdb2(), readCompactedSequence(), ReadGen(), readLine(), realign_event(), db_interrupt_data::reconfigure(), RecordingMacro::RecordingMacro(), CheckedConsistencies::register_as_performed(), MacroRecorder::release(), AP_tree::relink(), remote_command_handler(), remove_dup_colors(), awt_mask_item::remove_name(), rename_both_databases(), FoundGroup::rename_by_ACI(), GroupSearch::rename_found_groups(), rename_SAI_cb(), renameDB(), renameQuicksaves(), reorder_configs_cb(), reorder_trees_cb(), request_sequence_refresh(), rerun_importTest_cb(), reserve_tree_idx(), AW_awar::reset_to_default(), resolve_IUPAC_target_string(), resort_data_base(), AWT_configuration::Restore(), restore_cb(), restore_colorset_representation(), AP_pos_var::retrieve(), revcomp_op::revcomp_op(), reverseComplement(), rootsync_subsetTrees_vs_selected(), ED4_manager::route_down_hierarchy(), rule_stack_cb(), ruleset_awar_changed_cb(), Aligner::run(), run_command(), run_rnacma(), run_server(), FileContent::save(), StorableSelectionList::save(), AWT_configuration::Save(), DI_MATRIX::save(), AP_pos_var::save_aliEntry_to_SAI(), GB_MAIN_TYPE::save_as(), save_cb(), EDB_root_bact::save_current_config(), save_list_cb(), save_messagebox_content_to(), AW_root::save_properties(), save_search_paras_to_file(), AWT_graphic_tree::save_to_DB(), save_tree_as_newick(), saveArb(), GBT_config::saveAsOver(), saveChangedRuleset(), FieldTransfer::RuleSet::saveTo(), ARB_seqtree_root::saveToDB(), AP_tree_root::saveToDB(), parameters::scan(), scan_gene_positions(), ItemFieldShader::scan_value_range_cb(), ExportFieldScanner::scanFields(), QUERY::search_duplicated_field_content(), PT_FamilyFinder::searchFamily(), SEC_delete_structure(), sec_expect_constraints(), sec_expect_keyword_and_doubles(), sec_expect_keyword_and_ints(), SEC_new_structure(), sec_scan_doubles(), sec_scan_ints(), SEC_toggle_cb(), SEC_undo_cb(), SEC_xstring_to_foldedHelixList(), GB_MAIN_TYPE::send_update_to_server(), server_load(), server_main_loop(), set_addid(), set_all_modules_to(), AWT_configuration::set_config(), set_DB_state(), Writer::set_error(), AliData::set_error(), set_field_of_queried_cb(), GroupSearch::set_marks_in_found_groups(), GroupSearch::set_marks_in_group(), awt_mask_item::set_name(), set_parents_with_only_temp_childs_temp(), set_protection_level(), set_protection_of_queried_cb(), BoundActionTracker::set_recording(), set_SAI_group(), set_tree_idx(), sort_dtree_by_other_tree_cb(), sort_tree_by_other_tree(), sort_tree_by_other_tree_cb(), species_copy_cb(), species_create_handler(), species_delete_cb(), species_rename_handler(), species_rename_join(), split_ali_cb(), split_alignment(), split_data_into_parts(), SEC_root::split_loop(), SQ_add_changekeys(), sq_calc_seq_quality_cb(), SQ_evaluate(), SQ_mark_species(), SQ_pass1(), SQ_pass1_no_tree(), SQ_pass1_on_tree(), SQ_pass2(), SQ_pass2_no_tree(), SQ_pass2_on_tree(), SQ_remove_quality_entries(), sq_remove_quality_entries_cb(), st_check_cb(), ST_Container::ST_Container(), st_ml_add_quality_string_to_species(), st_ml_check_sequence_quality(), st_ok_cb(), st_remove_entries(), standard_list2file(), start_macro_cb(), start_pt_server(), MacroRecorder::start_recording(), start_remote_command_for_application(), startup_dbserver(), startup_mainwindow_and_dbserver(), startup_sequence_cb(), RecordingMacro::stop(), MacroRecorder::stop_recording(), store_cb(), swap_configs(), FunInfo::switch_to(), sync_changed_cb(), throw_IO_error(), toggle_cursor_group_folding(), toggle_helix_for_SAI(), AW_awar::toggle_toggle(), GBL_IMPL::trace_params(), RecordingMacro::track_action(), RecordingMacro::track_awar_change(), trackAlignmentChanges(), transfer_field_of_listed_cb(), transfer_field_of_selected_cb(), transfer_single_field(), transfer_tree(), ScopedTransporter::transferAllIn(), FieldTransfer::Rule::transferBy(), FieldTransfer::RuleSet::transferBy(), ViaFtsTransporter::transferOne(), transform_gbd_to_leaf(), translate_getInfo(), translate_removeInfo(), translate_saveInfo(), TranslateGeneToAminoAcidSequence(), translateSAItoColors(), transpro_event(), TreeAdmin::tree_append_remark(), TreeAdmin::tree_copy_or_rename_cb(), TREE_load(), tree_load_cb(), TREE_load_to_db(), tree_renamed_cb(), tree_save_cb(), tree_size_ok(), tree_write_byte(), tree_write_float(), TREE_write_Newick(), AP_tree::tree_write_tree_rek(), TREE_write_XML(), FieldTransfer::unconvertedWrite(), undo_entry(), SEC_root::unsplit_loop(), ArbTcpDat::update(), update_example(), ScrollSynchronizer::update_explicit(), update_exportTest_result_cb(), update_format_description_and_suffix(), update_location_from_GEN_position(), update_RangeList(), use_editor_range_cb(), test_runtool::valgrinded_system(), RefEntries::ReferringEntriesHandler::with_all_referred_items(), NodeTextBuilder::work(), FilteredExport::write_fasta(), write_float_converted(), write_int_converted(), SpecSetRegistry::write_node_information(), write_sequence_autoinc_alisize(), AW_scalar::write_to(), writeHistory(), writeStringToAlignment(), FieldTransfer::WriteRule::writeTo(), writeToArb(), XML_recursive(), GB_transaction::~GB_transaction(), and Mutex::~Mutex().

static void static void errorf ( const char format,
  ... 
)
static

Definition at line 101 of file mkptypes.cxx.

References buffer, BUFFERSIZE, error(), EXIT_FAILURE, fputs(), va_end(), and va_start().

Referenced by LinePart::error(), and readSimCfg().

static SymPart* makeSymPart ( char token)
static

Definition at line 128 of file mkptypes.cxx.

References SymPart::And, SymPart::atStart, SymPart::len, SymPart::next, NULp, and SymPart::part.

Referenced by addSymParts().

static void addSymParts ( SymPart *&  symParts,
const char parts 
)
static

Definition at line 150 of file mkptypes.cxx.

References makeSymPart(), SymPart::next, NULp, and s.

Referenced by addExcludedSymParts(), and addRequiredSymParts().

static bool matchesSymPart ( const SymPart symParts,
const char name 
)
static
static void freeSymParts ( SymPart *&  symParts)
static

Definition at line 183 of file mkptypes.cxx.

References SymPart::And, SymPart::next, NULp, and SymPart::part.

Referenced by freeExcludedSymParts(), and freeRequiredSymParts().

void addRequiredSymParts ( const char parts)
inline

Definition at line 203 of file mkptypes.cxx.

References addSymParts().

Referenced by ARB_main().

void addExcludedSymParts ( const char parts)
inline

Definition at line 204 of file mkptypes.cxx.

References addSymParts().

Referenced by ARB_main().

void freeRequiredSymParts ( )
inline

Definition at line 206 of file mkptypes.cxx.

References freeSymParts().

Referenced by ARB_main().

void freeExcludedSymParts ( )
inline

Definition at line 207 of file mkptypes.cxx.

References freeSymParts().

Referenced by ARB_main().

bool hasRequiredSymPart ( const char name)
inline

Definition at line 209 of file mkptypes.cxx.

References matchesSymPart().

Referenced by wantPrototypeFor().

bool hasExcludedSymPart ( const char name)
inline

Definition at line 210 of file mkptypes.cxx.

References matchesSymPart().

Referenced by wantPrototypeFor().

bool wantPrototypeFor ( const char name)
inline

Definition at line 212 of file mkptypes.cxx.

References hasExcludedSymPart(), and hasRequiredSymPart().

Referenced by getdecl().

static Word* word_alloc ( const char s)
static

Definition at line 225 of file mkptypes.cxx.

References Word::next, NULp, and Word::string.

Referenced by addword(), getdecl(), getparamlist(), typelist(), and word_append().

static void word_free ( Word *&  word)
static

Definition at line 238 of file mkptypes.cxx.

References Word::next, and NULp.

Referenced by getdecl(), and getparamlist().

static int List_len ( Word w)
static

Definition at line 248 of file mkptypes.cxx.

References Word::next, and Word::string.

Referenced by typefixhack().

static Word* word_append ( Word w1,
Word w2 
)
static

Definition at line 260 of file mkptypes.cxx.

References Word::next, Word::string, and word_alloc().

Referenced by getparamlist().

static int foundin ( Word w1,
Word w2 
)
static

Definition at line 281 of file mkptypes.cxx.

References Word::next, and Word::string.

Referenced by getparamlist().

static void addword ( Word w,
const char s 
)
static

Definition at line 295 of file mkptypes.cxx.

References DEBUG_PRINT, Word::next, and word_alloc().

Referenced by getdecl(), and getparamlist().

static void typefixhack ( Word w)
static

Definition at line 306 of file mkptypes.cxx.

References List_len(), Word::next, NULp, and Word::string.

Referenced by getparamlist().

static int ngetc ( FILE *  f)
static

Definition at line 334 of file mkptypes.cxx.

References linenum.

Referenced by fnextch().

static void clear_found_attribute ( )
static

Definition at line 351 of file mkptypes.cxx.

References NULp.

Referenced by getdecl().

static const char* nextNonSpace ( const char ptr)
static

Definition at line 356 of file mkptypes.cxx.

static const char* nextNonWord ( const char ptr)
static

Definition at line 360 of file mkptypes.cxx.

const char* matchingParen ( const char from)
inline

Definition at line 365 of file mkptypes.cxx.

References NULp.

static void search_comment_for_attribute ( )
static

Definition at line 547 of file mkptypes.cxx.

References lc_size, and AttributeParser::parse().

Referenced by fnextch().

static void add_promotion ( char to_promote)
static

Definition at line 565 of file mkptypes.cxx.

References promotion::next, NULp, promotions, and promotion::to_promote.

Referenced by search_comment_for_promotion().

static void print_promotions ( )
static

Definition at line 581 of file mkptypes.cxx.

References fputc(), promotion::next, NULp, promotions, and promotion::to_promote.

Referenced by emit().

static void search_comment_for_promotion ( )
static

Definition at line 603 of file mkptypes.cxx.

References add_promotion(), DEBUG_PRINT, eol, lc_size, mp_assert, NULp, and promotion_tag_len.

Referenced by fnextch().

static int fnextch ( FILE *  f)
static
static int nextch ( FILE *  f)
static

Definition at line 715 of file mkptypes.cxx.

References buffer, DEBUG_PRINT, error(), errorAt(), fnextch(), and linenum.

Referenced by getsym().

static int getsym ( char buf,
FILE *  f 
)
static

Definition at line 802 of file mkptypes.cxx.

References DEBUG_PRINT, error(), errorAt(), glastc, IS_CSYM, linenum, and nextch().

Referenced by getdecl(), getparamlist(), and skipit().

static int skipit ( char buf,
FILE *  f 
)
static

Definition at line 879 of file mkptypes.cxx.

References DEBUG_PRINT, and getsym().

Referenced by getdecl().

static int is_type_word ( char s)
static

Definition at line 898 of file mkptypes.cxx.

References NULp.

static Word* typelist ( Word p)
static

Definition at line 928 of file mkptypes.cxx.

References IS_CSYM, Word::next, Word::string, and word_alloc().

Referenced by getparamlist().

static Word* getparamlist ( FILE *  f)
static
Word* getLastPtrRef ( Word w)
inline

Definition at line 1164 of file mkptypes.cxx.

References Word::next, NULp, and Word::string.

Referenced by emit().

static void emit ( Word wlist,
Word plist,
long  startline 
)
static
static void getdecl ( FILE *  f,
const char header 
)
static
static __ATTR__NORETURN void Usage ( const char msg = NULp)
static

Definition at line 1489 of file mkptypes.cxx.

References EXIT_FAILURE, fputc(), and fputs().

Referenced by ARB_main(), MissingArgumentFor(), and UnknownOption().

static int string_comparator ( const void *  v0,
const void *  v1 
)
static

Definition at line 1530 of file mkptypes.cxx.

Referenced by ARB_main().

static __ATTR__NORETURN void MissingArgumentFor ( char  option)
static

Definition at line 1534 of file mkptypes.cxx.

References buffer, and Usage().

Referenced by ARB_main().

static __ATTR__NORETURN void UnknownOption ( char  option)
static

Definition at line 1539 of file mkptypes.cxx.

References buffer, and Usage().

Referenced by ARB_main().

int ARB_main ( int  argc,
char argv[] 
)

Definition at line 1545 of file mkptypes.cxx.

Variable Documentation

int donum = 0
static

Definition at line 56 of file mkptypes.cxx.

int define_macro = 0
static

Definition at line 57 of file mkptypes.cxx.

int use_macro = 0
static

Definition at line 58 of file mkptypes.cxx.

int use_main = 0
static

Definition at line 59 of file mkptypes.cxx.

int no_parm_names = 0
static

Definition at line 60 of file mkptypes.cxx.

int print_extern = 0
static

Definition at line 61 of file mkptypes.cxx.

int dont_promote = 0
static

Definition at line 62 of file mkptypes.cxx.

int promote_lines = 0
static

Definition at line 63 of file mkptypes.cxx.

int aisc = 0
static

Definition at line 64 of file mkptypes.cxx.

int cansibycplus = 0
static

Definition at line 65 of file mkptypes.cxx.

int promote_extern_c = 0
static

Definition at line 66 of file mkptypes.cxx.

int extern_c_seen = 0
static

Definition at line 67 of file mkptypes.cxx.

int search__ATTR__ = 0
static

Definition at line 68 of file mkptypes.cxx.

const char* include_wrapper = NULp
static

Definition at line 70 of file mkptypes.cxx.

int inquote = 0
static

Definition at line 72 of file mkptypes.cxx.

Referenced by treeFinishCom().

int newline_seen = 1
static

Definition at line 73 of file mkptypes.cxx.

int glastc = ' '
static

Definition at line 74 of file mkptypes.cxx.

Referenced by getsym().

char* current_file = NULp
static

Definition at line 76 of file mkptypes.cxx.

char* current_dir = NULp
static

Definition at line 77 of file mkptypes.cxx.

const char* header_comment = NULp
static

Definition at line 78 of file mkptypes.cxx.

long linenum = 1L
static

Definition at line 79 of file mkptypes.cxx.

Referenced by ARB_main(), error(), fnextch(), getdecl(), getsym(), nextch(), and ngetc().

char const* macro_name = "P_"
static
char const* ourname
static

Definition at line 82 of file mkptypes.cxx.

SymPart* requiredSymParts = NULp
static

Definition at line 200 of file mkptypes.cxx.

SymPart* excludedSymParts = NULp
static

Definition at line 201 of file mkptypes.cxx.

char last_comment[MAX_COMMENT_SIZE]
static

Definition at line 347 of file mkptypes.cxx.

int lc_size = 0
static

Definition at line 348 of file mkptypes.cxx.

Referenced by search_comment_for_attribute(), and search_comment_for_promotion().

char* found__ATTR__ = NULp
static

Definition at line 349 of file mkptypes.cxx.

promotion* promotions = NULp
static

Definition at line 563 of file mkptypes.cxx.

Referenced by add_promotion(), and print_promotions().

const char* promotion_tag = "AISC_MKPT_PROMOTE:"
static

Definition at line 600 of file mkptypes.cxx.

int promotion_tag_len = 18
static

Definition at line 601 of file mkptypes.cxx.

Referenced by search_comment_for_promotion().