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 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_class_name (void);
102 static const char *get_hash_name (void);
103 static const char *get_wordlist_name (void);
104 static const char *get_delimiter (void);
105
106private:
107 static int option_word; /* Holds the user-specified Options. */
108 static int total_switches; /* Number of switch statements to generate. */
109 static int total_keysig_size; /* Total number of distinct key_positions. */
110 static int size; /* Range of the hash table. */
111 static int key_pos; /* Tracks current key position for Iterator. */
112 static int jump; /* Jump length when trying alternative values. */
113 static int initial_asso_value; /* Initial value for asso_values table. */
114 static int argument_count; /* Records count of command-line arguments. */
115 static int iterations; /* Amount to iterate when a collision occurs. */
116 static char **argument_vector; /* Stores a pointer to command-line vector. */
117 static const char *function_name; /* Names used for generated lookup function. */
118 static const char *key_name; /* Name used for keyword key. */
119 static const char *class_name; /* Name used for generated C++ class. */
120 static const char *hash_name; /* Name used for generated hash function. */
121 static const char *wordlist_name; /* Name used for hash table array. */
122 static const char *delimiters; /* Separates keywords from other attributes. */
123 static char key_positions[MAX_KEY_POS]; /* Contains user-specified key choices. */
124 static int key_sort (char *base, int len); /* Sorts key positions in REVERSE order. */
125 static void short_usage (FILE * strm); /* Prints proper program usage. */
126 static void long_usage (FILE * strm); /* Prints proper program usage. */
--- 31 unchanged lines hidden ---
2
3/* Handles parsing the Options provided to the user.
4
5 Copyright (C) 1989-1998 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_class_name (void);
102 static const char *get_hash_name (void);
103 static const char *get_wordlist_name (void);
104 static const char *get_delimiter (void);
105
106private:
107 static int option_word; /* Holds the user-specified Options. */
108 static int total_switches; /* Number of switch statements to generate. */
109 static int total_keysig_size; /* Total number of distinct key_positions. */
110 static int size; /* Range of the hash table. */
111 static int key_pos; /* Tracks current key position for Iterator. */
112 static int jump; /* Jump length when trying alternative values. */
113 static int initial_asso_value; /* Initial value for asso_values table. */
114 static int argument_count; /* Records count of command-line arguments. */
115 static int iterations; /* Amount to iterate when a collision occurs. */
116 static char **argument_vector; /* Stores a pointer to command-line vector. */
117 static const char *function_name; /* Names used for generated lookup function. */
118 static const char *key_name; /* Name used for keyword key. */
119 static const char *class_name; /* Name used for generated C++ class. */
120 static const char *hash_name; /* Name used for generated hash function. */
121 static const char *wordlist_name; /* Name used for hash table array. */
122 static const char *delimiters; /* Separates keywords from other attributes. */
123 static char key_positions[MAX_KEY_POS]; /* Contains user-specified key choices. */
124 static int key_sort (char *base, int len); /* Sorts key positions in REVERSE order. */
125 static void short_usage (FILE * strm); /* Prints proper program usage. */
126 static void long_usage (FILE * strm); /* Prints proper program usage. */
--- 31 unchanged lines hidden ---