1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
/*-----------------------------------------------------------------------
File : cio_filevars.h
Author: Stephan Schulz
Contents
Functions for managing file-stored "variable = value;" pairs.
Copyright 1998, 1999 by the author.
This code is released under the GNU General Public Licence and
the GNU Lesser General Public License.
See the file COPYING in the main E directory for details..
Run "eprover -h" for contact information.
Changes
<1> Thu Apr 8 16:00:49 MET DST 1999
New
-----------------------------------------------------------------------*/
#ifndef CIO_FILEVARS
#define CIO_FILEVARS
#include <clb_stringtrees.h>
#include <clb_pstacks.h>
#include <cio_basicparser.h>
/*---------------------------------------------------------------------*/
/* Data type declarations */
/*---------------------------------------------------------------------*/
typedef struct filevarscell
{
PStack_p names; /* Of sources, for error messages */
StrTree_p vars; /* Storing (ident, value) pairs */
}FileVarsCell, *FileVars_p;
/*---------------------------------------------------------------------*/
/* Exported Functions and Variables */
/*---------------------------------------------------------------------*/
#define FileVarsCellAlloc() (FileVarsCell*)SizeMalloc(sizeof(FileVarsCell))
#define FileVarsCellFree(junk) SizeFree(junk, sizeof(FileVarsCell))
FileVars_p FileVarsAlloc(void);
void FileVarsFree(FileVars_p handle);
long FileVarsParse(Scanner_p in, FileVars_p vars);
long FileVarsReadFromFile(char* file, FileVars_p vars);
bool FileVarsGetBool(FileVars_p vars, char* name, bool *value);
bool FileVarsGetInt(FileVars_p vars, char* name, long *value);
bool FileVarsGetStr(FileVars_p vars, char* name, char **value);
bool FileVarsGetIdentifier(FileVars_p vars, char* name, char
**value);
#endif
/*---------------------------------------------------------------------*/
/* End of File */
/*---------------------------------------------------------------------*/
|