/* (c) Copyright 1992 by G & A Technical Software, Inc., 28 Research Drive, Hampton, Virginia, 23666. All Rights Reserved. No part of this software or publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise without the prior written permission of G & A Technical Software, Inc. */ /* * $Log: s3_externals.h,v $ * Revision 2.1 1994/07/08 17:47:02 jcburt * Updated typedefs, defines and function protypes to allow recursive * parsing of pct files. Enabled use of sub-PDT files and scoping of * datasets. Datasets used in a pct must be defined either in the * associated pdt file or the pdt file associated with the direct * ancestors of the current pct file. * * Revision 2.0.0.1 1994/06/28 18:48:27 jcburt * S3 Version 2.0 Initial Source * */ static char e_rcsid[] = "$Id: s3_externals.h,v 2.1 1994/07/08 17:47:02 jcburt Exp $"; /************************* * Routines in parser_support.c * *************************/ extern File_list *s3_add_file(File_list *list,char *entry); extern ST_entry **s3_add_to_list(ST_entry **list,ST_entry **entries,int *ncurr,int nadd); extern ST_entry **s3_make_parameter_list(ST_entry **param_list,ST_entry *param); extern ST_entry **s3_create_symbol_table(); extern ST_entry *s3_create_ST_entry(char *name); extern ST_entry *s3_add_symbol(char *symbol); extern ST_entry *s3_get_symbol(char *symbol); extern ST_entry *s3_global_get_symbol(char *symbol); extern ST_entry *s3_lookup_symbol(char *symbol); extern ST_entry *s3_initialize_enode(ST_entry *entry,ST_entry **list,int count); extern ST_entry *s3_initialize_pnode(ST_entry *entry,ST_entry **list,int count); extern ST_entry *s3_make_temp_dataset(char *name, int type, int nd, int *dims); extern int s3_parse_control_file(char *filename); extern EMT_struct *s3_parse_emt_file(char *filename); extern PCT_struct *s3_parse_pct_file(char *filename,int Static); extern PDT_struct *s3_parse_pdt_file(char *filename); extern DataSet *s3_allocate_dataset(DataSet *ds); extern void s3_init_s3executive(char *basename); extern char *s3_get_module_file(char *name); extern int s3_dml_init (char *path); extern int s3_get_index(char *key); extern int s3_exec_pnode(Pnode *pn); extern int s3_exec_enode(Enode *en); extern int s3_undefined_symbols(); extern void s3_compile_static(char *progname); extern void s3_compile_dynamic(char *progname); extern void s3_init_user_symbols(); extern void s3_put_file_module(char * name); extern void s3_init_parser_emt(char *basename); extern char *s3_dml_load_symbol(char *symbol, char *module, int type); extern void s3_push_symbol_table(ST_entry **symbol_table); extern void s3_pop_symbol_table(); extern void s3_parse_sub_pct(ST_entry *entry); extern void s3_pdt_type_declarations(int type,ST_entry **slist,ST_entry **dlist, Val_list vlist); extern void s3_init_symbol_table(); extern void s3_internal_error(char *file, int line, int type, char *tmp, ...); /* Variable length parameter list */ extern void s3_error(int type, char *tmp, ...); /* Variable length parameter list */ extern void s3_warning(int type, char *tmp, ...); /* Variable length parameter list */ extern void s3_parse_warning(char *tmp, ...); /* Variable length parameter list */ extern void s3_dprint(char *tmp, ...); /* Variable length parameter list */ extern void s3_print_pct_header(); extern void s3_print_pct_trailer(); extern void s3_display_pnode(Pnode *pn,FILE *fp); extern void s3_display_enode(Enode *en,FILE *fp); extern void s3_write_sub_call(int type,char *label,char *name,ST_entry **list,int count,int which); extern void s3_modify_sub_call(char *name,ST_entry **list,int count); extern void s3_add_elkey(char *label); extern void s3_add_to_elist(ST_entry *entry); extern void s3_compile_dynamic_modules(EMT_struct *emt_info); extern void s3_load_dynamic_modules(EMT_struct *emt_info); extern void s3_setup_pnode(char *name,char *fname); extern void s3_setup_enode(int type, ST_entry **entry, int count); extern void s3_add_objects_to_list(File_list *flist); extern void s3_add_libs_to_list(File_list *flist); extern void add_object_to_archive(char *archive, char *object); extern void s3_setup_shared_library(char *basename); extern void s3_create_dataset(int type,ST_entry **slist,ST_entry **dlist,Val_list vlist); extern void s3_initialize_dataset(ST_entry **slist,Val_list vlist); extern void s3tof77(PCT_struct *pct_info,PDT_struct *pdt_info,char *basename); extern void init_mem();