/* RCSID: $Id: utils.h,v 1.2 1995/11/14 07:53:35 ae59 Exp $ */
/* $Log: utils.h,v $
 * Revision 1.2  1995/11/14  07:53:35  ae59
 * provide recursion
 *
 * Revision 1.2  1995/11/14  07:53:35  ae59
 * provide recursion
 *
 * Revision 1.1  1995/09/14  08:35:50  ae59
 * Initial revision
 *
 */
_PROTOTYPE(void usage,(const char *));
_PROTOTYPE(int  GetOpt,(int ,char **));
_PROTOTYPE(void report,(VOID));
_PROTOTYPE(void ntrace,(VOID));
_PROTOTYPE(void internal_error,(char* format,e_args));
_PROTOTYPE(void warning,(char* fmt, e_args));
_PROTOTYPE(void parser_info,(void));
_PROTOTYPE(void Message,(char* str));
_PROTOTYPE(int yyerror,(char* str));
_PROTOTYPE(char* token_name,(int i ));
_PROTOTYPE(char* GetDataPath,(void));
_PROTOTYPE(void ParseMod,(FILE *modfile, char* filename));


/* metrics */
extern int func;
extern int oper;
extern int proc;
extern int empty_decisions 	;
extern int decisions;
extern int statemntno;
extern int mods_nr  ;
extern int globmods_nr;
extern int atomic_predicates 	;
extern int predicates;
extern int atomic_pred_rels	;
extern int loop_decisions;
extern int non_nested_decis	;
extern int for_loop_decis;
extern int array_decls		;
extern int pointer_decls		;
extern int file_decls;
extern int real_decls;
extern int complex_decls	;
extern int interval_decls;	
extern int basic_blocks	;
extern int data_decls	;
extern int defs   			;
extern int c_uses			;
extern int p_uses			;
extern int exact_operations	;
extern int arithm_operators	;
extern int assignments		;
extern int dots				;
extern int idots				;
extern int lines				;
extern int blanklines			;
extern int commentlines		;
extern int prevlines			;
extern int inslines			;
extern int pathlen			;
extern int vars   			;
extern int mccabe 			;
extern int recursion	;
