1/* This may look like C code, but it is really -*- C++ -*- */ 2 3/* Handles parsing the Options provided to the user. 4 |
5 Copyright (C) 1989-1998, 2000 Free Software Foundation, Inc. |
6 written by Douglas C. Schmidt (schmidt@ics.uci.edu) 7 8This file is part of GNU GPERF. 9 10GNU GPERF is free software; you can redistribute it and/or modify 11it under the terms of the GNU General Public License as published by 12the Free Software Foundation; either version 1, or (at your option) 13any later version. --- 79 unchanged lines hidden (view full) --- 93 static int get_iterations (void); 94 static int get_max_keysig_size (void); 95 static void set_keysig_size (int); 96 static int get_jump (void); 97 static int initial_value (void); 98 static int get_total_switches (void); 99 static const char *get_function_name (void); 100 static const char *get_key_name (void); |
101 static const char *get_initializer_suffix (void); |
102 static const char *get_class_name (void); 103 static const char *get_hash_name (void); 104 static const char *get_wordlist_name (void); 105 static const char *get_delimiter (void); 106 107private: 108 static int option_word; /* Holds the user-specified Options. */ 109 static int total_switches; /* Number of switch statements to generate. */ 110 static int total_keysig_size; /* Total number of distinct key_positions. */ 111 static int size; /* Range of the hash table. */ 112 static int key_pos; /* Tracks current key position for Iterator. */ 113 static int jump; /* Jump length when trying alternative values. */ 114 static int initial_asso_value; /* Initial value for asso_values table. */ 115 static int argument_count; /* Records count of command-line arguments. */ 116 static int iterations; /* Amount to iterate when a collision occurs. */ 117 static char **argument_vector; /* Stores a pointer to command-line vector. */ 118 static const char *function_name; /* Names used for generated lookup function. */ 119 static const char *key_name; /* Name used for keyword key. */ |
120 static const char *initializer_suffix; /* Suffix for empty struct initializers. */ |
121 static const char *class_name; /* Name used for generated C++ class. */ 122 static const char *hash_name; /* Name used for generated hash function. */ 123 static const char *wordlist_name; /* Name used for hash table array. */ 124 static const char *delimiters; /* Separates keywords from other attributes. */ 125 static char key_positions[MAX_KEY_POS]; /* Contains user-specified key choices. */ 126 static int key_sort (char *base, int len); /* Sorts key positions in REVERSE order. */ 127 static void short_usage (FILE * strm); /* Prints proper program usage. */ 128 static void long_usage (FILE * strm); /* Prints proper program usage. */ --- 31 unchanged lines hidden --- |