- Timestamp:
- Aug 31, 2021, 5:08:10 PM (3 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, pthread-emulation, qualifiedEnum
- Children:
- b0f225f
- Parents:
- 45b772c
- Location:
- libcfa/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/parseconfig.cfa
r45b772c rca83227 77 77 78 78 79 // TODO: Replace KVPairs with vector2 when it's fully functional80 struct KVPairs {81 size_t size, max_size;82 * [ * char, * char ] data;83 };84 85 79 [ void ] ?{}( & KVPairs kvp ) with ( kvp ) { // default constructor 86 80 size = 0; max_size = 0; data = 0p; … … 157 151 158 152 // Parse configuration values from intermediate format 159 [ void ] parse_config( [] const char config_file, [] config_entry entries, size_t num_entries, config_format format ) { 160 * KVPairs kv_pairs = 0p; 161 choose ( format ) { 162 case TABULAR_CONFIG: 163 kv_pairs = parse_tabular_config_format( config_file, num_entries ); 164 } 153 [ void ] parse_config( 154 [] const char config_file, 155 [] config_entry entries, 156 size_t num_entries, 157 KVPairs * (*parser)(const char [], size_t) 158 ) { 159 * KVPairs kv_pairs = parser( config_file, num_entries ); 165 160 166 161 int entries_so_far = 0; -
libcfa/src/parseconfig.hfa
r45b772c rca83227 6 6 // *********************************** initial declarations *********************************** 7 7 8 9 enum config_format {10 TABULAR_CONFIG11 };12 8 13 9 struct config_entry { … … 54 50 } 55 51 52 // TODO: Replace KVPairs with vector2 when it's fully functional 53 struct KVPairs { 54 size_t size, max_size; 55 * [ * char, * char ] data; 56 }; 57 58 [ void ] add_kv_pair( & KVPairs kv_pairs, [] char key, [] char value ); 59 56 60 57 61 // *********************************** exceptions *********************************** … … 82 86 83 87 84 void parse_config( const char * config_file, config_entry entries[], size_t num_entries, config_format format ); 88 [ * KVPairs ] parse_tabular_config_format( [] const char config_file, size_t num_entries ); 89 90 [ void ] parse_config( 91 [] const char config_file, 92 [] config_entry entries, 93 size_t num_entries, 94 KVPairs * (*parser)(const char [], size_t) 95 ); 85 96 86 97 bool parse( const char *, const char * & );
Note: See TracChangeset
for help on using the changeset viewer.