- Timestamp:
- 2016-07-19T10:38:35+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/NERC/dev_r5549_BDY_ZEROGRAD/NEMOGCM/EXTERNAL/AGRIF/LIB/decl.h
r3294 r6808 33 33 /* version 1.7 */ 34 34 /******************************************************************************/ 35 #define LONG NOM 800036 37 #define LONG_C 300038 #define LONG_ 4C 400039 #define LONG_4M 4000 40 #define LONG_40M 400000035 #define LONG_VNAME 80 // Max length for a variable name 36 #define LONG_FNAME 1000 // Max length for a file name 37 #define LONG_C 200 38 #define LONG_M 1500 39 40 #define NB_CAT_VARIABLES 5 41 41 42 42 /******************************************************************************/ … … 46 46 typedef struct 47 47 { 48 char first[LONG_ C];49 char last[LONG_ C];48 char first[LONG_M]; 49 char last[LONG_M]; 50 50 } typedim ; /* fortran dimension as 'ndeb:nfin' */ 51 51 … … 58 58 typedef struct variable 59 59 { 60 char v_typevar[LONG_ C];61 char v_nomvar[LONG_ C] ;62 char v_oldname[LONG_ C] ;63 char v_dimchar[LONG_ C];64 char v_modulename[LONG_ C];65 char v_commonname[LONG_ C];66 char v_vallengspec[LONG_ C];67 char v_nameinttypename[LONG_ C];68 char v_commoninfile[LONG_ C];69 char v_subroutinename[LONG_ C];60 char v_typevar[LONG_VNAME]; 61 char v_nomvar[LONG_VNAME] ; 62 char v_oldname[LONG_VNAME] ; 63 char v_dimchar[LONG_VNAME]; 64 char v_modulename[LONG_VNAME]; 65 char v_commonname[LONG_VNAME]; 66 char v_vallengspec[LONG_VNAME]; 67 char v_nameinttypename[LONG_VNAME]; 68 char v_commoninfile[LONG_FNAME]; 69 char v_subroutinename[LONG_VNAME]; 70 70 char v_precision[LONG_C]; 71 char v_initialvalue[LONG_ 4C];72 char v_IntentSpec[LONG_ C];73 char v_readedlistdimension[LONG_ C];71 char v_initialvalue[LONG_M]; 72 char v_IntentSpec[LONG_M]; 73 char v_readedlistdimension[LONG_M]; 74 74 int v_nbdim; 75 75 int v_common; … … 77 77 int v_module; 78 78 int v_save; 79 int v_catvar; 79 80 int v_VariableIsParameter; 80 81 int v_PublicDeclare; … … 110 111 typedef struct listusemodule 111 112 { 112 char u_usemodule[LONG_ C];113 char u_charusemodule[LONG_ C];114 char u_cursubroutine[LONG_ C];115 char u_modulename[LONG_ C];113 char u_usemodule[LONG_VNAME]; 114 char u_charusemodule[LONG_VNAME]; 115 char u_cursubroutine[LONG_VNAME]; 116 char u_modulename[LONG_VNAME]; 116 117 int u_firstuse; 117 118 struct listusemodule * suiv; … … 120 121 typedef struct listparameter 121 122 { 122 char p_name[LONG_ C];123 char p_modulename[LONG_ C];123 char p_name[LONG_M]; 124 char p_modulename[LONG_M]; 124 125 struct listparameter * suiv; 125 126 } listparameter ; /* list of names */ … … 127 128 typedef struct listname 128 129 { 129 char n_name[LONG_ C];130 char n_name[LONG_VNAME]; 130 131 struct listname* suiv; 131 132 } listname ; /* list of names */ … … 133 134 typedef struct listcouple 134 135 { 135 char c_namevar[LONG_ C];136 char c_namepointedvar[LONG_ C];136 char c_namevar[LONG_VNAME]; 137 char c_namepointedvar[LONG_VNAME]; 137 138 struct listcouple * suiv; 138 139 } listcouple; /* list of names */ … … 142 143 { 143 144 char o_nom[LONG_C]; 144 char o_module[LONG_ C];145 char o_subroutinename[LONG_ C];145 char o_module[LONG_VNAME]; 146 char o_subroutinename[LONG_M]; 146 147 int o_val; 147 148 listcouple *couple; … … 153 154 { 154 155 char a_nomvar[LONG_C]; 155 char a_subroutine[LONG_ C];156 char a_module[LONG_ C];156 char a_subroutine[LONG_VNAME]; 157 char a_module[LONG_VNAME]; 157 158 struct listallocate * suiv; 158 159 } listallocate ; … … 161 162 typedef struct listvarpointtovar 162 163 { 163 char t_usemodule[LONG_ C];164 char t_cursubroutine[LONG_ C];164 char t_usemodule[LONG_VNAME]; 165 char t_cursubroutine[LONG_VNAME]; 165 166 listcouple *t_couple; 166 167 struct listvarpointtovar* suiv; … … 209 210 listnom *List_Subroutine_For_Alloc; 210 211 listnom *listofmodules; 212 listnom *listofkind; 211 213 listnom *List_NameOfModule; 212 214 listnom *List_NameOfCommon; … … 220 222 listindice *Listofavailableindices; 221 223 /* List of available indices in the tabvars table */ 224 listindice **Listofavailableindices_glob; 222 225 223 226 listdim *curdim; … … 229 232 230 233 int positioninblock; 231 char commonvar[LONG_ C];232 char commonblockname[LONG_ C];234 char commonvar[LONG_VNAME]; 235 char commonblockname[LONG_VNAME]; 233 236 234 237 /******************************************************************************/ … … 239 242 int sameagrifargument; 240 243 int InAgrifParentDef; 241 char sameagrifname[LONG_ C];244 char sameagrifname[LONG_VNAME]; 242 245 /******************************************************************************/ 243 246 /**************** *** VAR DEF Variables *** *******************************/ 244 247 /******************************************************************************/ 245 int indicemaxtabvars ; /* Number of variables in the model i.e. last */248 int indicemaxtabvars[NB_CAT_VARIABLES]; /* Number of variables in the model i.e. last */ 246 249 /* indice used in the tabvars table */ 247 250 int PublicDeclare; /* Variable has been declared as PUBLIC */ 248 251 int PrivateDeclare; /* Variable has been declared as PRIVATE */ 249 252 int ExternalDeclare; /* Variable has been declared as EXTERNAL */ 250 char InitialValueGiven[LONG_C];253 int InitialValueGiven; /* An initial value has been given */ 251 254 int Allocatabledeclare; 252 255 int Targetdeclare; … … 255 258 int pointerdeclare; 256 259 int optionaldeclare; 257 int VarType; 258 int VarTypepar; 260 int inside_type_declare; 259 261 int VariableIsParameter; 260 262 int dimsgiven; 261 263 int shouldincludempif; 262 264 int c_star; 263 char DeclType[LONG_ C];264 char nameinttypename[LONG_ C];265 char nameinttypenameback[LONG_ C];265 char DeclType[LONG_VNAME]; 266 char nameinttypename[LONG_VNAME]; 267 char nameinttypenameback[LONG_VNAME]; 266 268 int GlobalDeclaration; 267 269 int GlobalDeclarationType; 268 char InitValue[LONG_ 4C];269 char IntentSpec[LONG_ C];270 char InitValue[LONG_M]; 271 char IntentSpec[LONG_M]; 270 272 char NamePrecision[LONG_C]; 271 char CharacterSize[LONG_C]; 272 char curmodulename[LONG_C]; 273 char vallengspec[LONG_C]; 274 char subroutinename[LONG_C]; 273 char CharacterSize[LONG_VNAME]; 274 char vallengspec[LONG_VNAME]; 275 275 int isrecursive; 276 char previoussubroutinename[LONG_C];276 int is_result_present; 277 277 278 278 /******************************************************************************/ … … 283 283 int onlyfixedgrids; /* = 1 if onlyfixedgrids is true */ 284 284 int todebug; 285 int mark;286 int todebugfree;287 285 int fixedgrids; /* = 1 if fixedgrids is true */ 288 char nbmaillesX[LONG_ C]; /* number of cells in the x direction */289 char nbmaillesY[LONG_ C]; /* number of cells in the y direction */290 char nbmaillesZ[LONG_ C]; /* number of cells in the z direction */286 char nbmaillesX[LONG_VNAME]; // number of cells in the x direction 287 char nbmaillesY[LONG_VNAME]; // number of cells in the y direction 288 char nbmaillesZ[LONG_VNAME]; // number of cells in the z direction 291 289 int IndicenbmaillesX; 292 290 int IndicenbmaillesY; … … 297 295 int aftercontainsdeclare; /* Signale si l'on vient d'un contains ou non */ 298 296 int retour77; 299 int colnum;300 297 int callagrifinitgrids; 301 298 int callmpiinit; 302 299 int firstpass; 303 int couldaddvariable;304 300 int pointedvar; 305 301 int NbMailleXDefined; … … 309 305 /* only */ 310 306 /* scalar and not table u(1,1,1) in place of u */ 311 int checkexistcommon;307 int inprogramdeclare; 312 308 int insubroutinedeclare; 313 int ininterfacedeclare;314 309 int inmoduledeclare; 315 310 int dimsempty; … … 317 312 int incontainssubroutine; 318 313 319 char meetagrifinitgrids[LONG_C]; 320 char mpiinitvar[LONG_C]; 321 char *NameTamponfile; 322 char toprintglob[LONG_4C]; 323 char tmpvargridname[LONG_4C]; 324 char EmptyChar[2]; /* An empty char */ 325 char curfilename[LONG_C]; 326 char nomfileoutput[LONG_C]; 327 char curbuf[LONG_40M]; 328 char motparse[LONG_4C]; 329 char motparse1[LONG_4C]; 330 char charusemodule[LONG_C]; 331 char subofagrifinitgrids[LONG_C]; 332 char curfile[LONG_C]; 333 char mainfile[LONG_C]; 334 char nomdir[LONG_C]; 335 char commondirout[LONG_C]; 336 char commondirin[LONG_C]; 337 char filetoparse[LONG_C]; 338 339 FILE *fortranout; /* Output File */ 340 FILE *fortranin; /* Input File */ 341 FILE *oldfortranout; 314 char meetagrifinitgrids[LONG_M]; 315 char mpiinitvar[LONG_M]; 316 char toprintglob[LONG_M]; 317 char tmpvargridname[LONG_M]; 318 char dependfilename[LONG_FNAME]; 319 char charusemodule[LONG_VNAME]; 320 char subofagrifinitgrids[LONG_M]; 321 char curmodulename[LONG_VNAME]; 322 char subroutinename[LONG_VNAME]; 323 char cur_filename[LONG_FNAME]; // Name of the current parsed Fortran file 324 char config_file[LONG_FNAME]; // Name of conv configuration file (ex: amr.in) 325 char work_dir[LONG_FNAME]; // Work directory (default: './') 326 char include_dir[LONG_FNAME]; // Include directory (default: './AGRIF_INC') 327 char output_dir[LONG_FNAME]; // output directory (default: './AGRIF_MODELFILES') 328 char input_dir[LONG_FNAME]; // source input directory (default: './') 329 330 FILE *fortran_out; /* Output File */ 331 FILE *fortran_in; /* Input File */ 332 FILE *oldfortran_out; 342 333 FILE *subloop; 343 334 FILE *module_declar; 344 FILE *module_declar_type;345 335 FILE *allocationagrif; 346 FILE *paramout;347 336 348 337 long int pos_cur; /* current position in the output file */ … … 359 348 long int pos_cursave; /* current position in the output file */ 360 349 long int pos_curdimension;/* current position in the output file */ 361 long int pos_curinit; /* current position in the output file */362 350 long int pos_curinclude; /* final position of a line in file */ 363 351 long int pos_end; /* final position of a line in file */ … … 365 353 /* final position of a line in file */ 366 354 367 /* v_oldname = v_nomvar; */ 368 /* commonvar = v_nomvar; */ 369 /* commonblockname = v_commonname;*/ 370 /* sameagrifname = v_nomvar ; */ 371 /* DeclType = v_typevar; */ 372 /* nameinttypename = v_nameinttypename; */ 373 /* IntentSpec = v_IntentSpec; */ 374 /* NamePrecision = v_precision; */ 375 /* CharacterSize = v_dimchar; */ 376 /* curmodulename = v_modulename; */ 377 /* vallengspec = v_vallengspec; */ 378 /* subroutinename = v_subroutinename; */ 379 /* meetagrifinitgrids = v_subroutinename; */ 380 /* nbmaillesX = v_nomvar; */ 381 /* nbmaillesY = v_nomvar; */ 382 /* nbmaillesZ = v_nomvar; */ 383 /* mpiinitvar = v_nomvar; */ 384 /* EmptyChar = 2; */ 385 /* motparse1 = motparse;*/ 386 /* charusemodule = p_modulename; */ 387 /* subofagrifinitgrids = v_subroutinename; */ 388 /* curfile = mainfile; */ 389 /* InitValue = v_initialvalue; */ 390 391 /* p_name;???????? */ 392 /* p_modulename; ?????????????*/ 393 394 int length_last; 395 int length_first; 396 int length_v_typevar; 397 int length_v_nomvar; 398 int length_v_dimchar; 399 int length_v_modulename; 400 int length_v_commonname; 401 int length_v_vallengspec; 402 int length_v_nameinttypename; 403 int length_v_commoninfile; 404 int length_v_subroutinename; 405 int length_v_precision; 406 int length_v_IntentSpec; 407 int length_v_initialvalue; 408 int length_v_readedlistdimension; 409 int length_u_usemodule; 410 int length_u_charusemodule; 411 int length_u_cursubroutine; 412 int length_u_modulename; 413 int length_n_name; 414 int length_c_namevar; 415 int length_c_namepointedvar; 416 int length_o_nom; 417 int length_o_module; 418 int length_a_nomvar; 419 int length_a_subroutine; 420 int length_a_module; 421 int length_t_usemodule; 422 int length_t_cursubroutine; 423 int length_curfilename; 424 int length_nomfileoutput; 425 int length_motparse; 426 int length_mainfile; 427 int length_nomdir; 428 int length_commondirout; 429 int length_commondirin; 430 int length_filetoparse; 431 int length_curbuf; 432 int length_toprintglob; 433 int length_tmpvargridname; 434 int length_ligne_Subloop; 435 int length_lvargridname_toamr; 436 int length_toprint_utilagrif; 437 int length_toprinttmp_utilchar; 438 int length_ligne_writedecl; 439 int length_newname_toamr; 440 int length_newname_writedecl; 441 int length_ligne_toamr; 442 int length_tmpligne_writedecl; 355 size_t length_last; 356 size_t length_first; 357 size_t length_v_vallengspec; 358 size_t length_v_commoninfile; 359 size_t length_v_precision; 360 size_t length_v_IntentSpec; 361 size_t length_v_initialvalue; 362 size_t length_v_readedlistdimension; 363 size_t length_a_nomvar; 364 size_t length_toprintglob; 365 size_t length_tmpvargridname; 366 size_t length_ligne_Subloop; 367 size_t length_toprint_utilagrif; 368 size_t length_toprinttmp_utilchar; 369 size_t length_ligne_writedecl; 370 size_t length_newname_toamr; 371 size_t length_newname_writedecl; 372 size_t length_ligne_toamr; 373 size_t length_tmpligne_writedecl; 443 374 int value_char_size; 444 375 int value_char_size1; … … 446 377 int value_char_size3; 447 378 448 379 449 380 int inallocate; 450 381 int infixed; … … 453 384 /*********** Declaration of externals subroutines *****************************/ 454 385 /***************************************************** ************************/ 386 extern char *fortran_text; 455 387 /******************************************************************************/ 456 388 /*********** convert.y ********************************************************/ 457 389 /******************************************************************************/ 458 390 extern int main(int argc,char *argv[]); 391 extern int convert_error(const char *s); 459 392 /******************************************************************************/ 460 393 /*********** fortran.y ********************************************************/ 461 394 /******************************************************************************/ 462 extern void processfortran(char *fichier_entree); 395 extern void process_fortran(const char *input_file); 396 extern int fortran_error(const char *s); 463 397 /******************************************************************************/ 464 398 /*********** dependfile.c *****************************************************/ … … 466 400 extern void Writethedependnbxnbyfile(); 467 401 extern void Readthedependnbxnbyfile(); 468 extern void Writethedependlistofmoduleused(char *NameTampon ); 469 extern void Readthedependlistofmoduleused(char *NameTampon); 470 extern void WritedependParameterList(char *NameTampon ); 471 extern listparameter *ReaddependParameterList(char *NameTampon, 472 listparameter *listout); 473 extern void Writethedependfile(char *NameTampon, listvar *input ); 474 extern listvar *Readthedependfile( char *NameTampon , listvar *listout); 402 extern void Writethedependlistofmoduleused(const char *NameTampon ); 403 extern void Readthedependlistofmoduleused(const char *NameTampon); 404 extern void WritedependParameterList(const char *NameTampon ); 405 extern listparameter *ReaddependParameterList(const char *NameTampon, listparameter *listout); 406 extern void Writethedependfile(const char *NameTampon, listvar *input ); 407 extern listvar *Readthedependfile(const char *NameTampon , listvar *listout); 475 408 extern void Write_Subroutine_For_Alloc(); 476 409 extern void Read_Subroutine_For_Alloc(); 477 410 extern void Writethedependavailablefile(); 478 411 extern void Readthedependavailablefile(); 479 extern int Did_filetoparse_readed(char *NameTampon); 480 extern int Did_module_common_treaded(char *NameTampon); 412 extern int is_dependfile_created(const char *NameTampon); 481 413 extern void Write_val_max(); 482 414 extern void Read_val_max(); … … 485 417 /******************************************************************************/ 486 418 extern void Add_Common_var_1(); 487 extern listnom *Addtolistnom(char *nom, listnom *listin,int value);488 extern listname *Addtolistname(c har *nom,listname *input);489 extern int ModuleIsDefineInInputFile(c har *name);490 extern void Addmoduletothelisttmp(c har *name);491 extern void Add_NameOfModule_1(c har *nom);492 extern void Add_NameOfCommon_1(c har *nom,char *cursubroutinename);493 extern void Add_CouplePointed_Var_1(c har *namemodule,listcouple *couple);494 extern void Add_Include_1(c har *name);419 extern listnom *Addtolistnom(const char *nom, listnom *listin, int value); 420 extern listname *Addtolistname(const char *nom, listname *input); 421 extern int ModuleIsDefineInInputFile(const char *name); 422 extern void Addmoduletothelisttmp(const char *name); 423 extern void Add_NameOfModule_1(const char *nom); 424 extern void Add_NameOfCommon_1(const char *nom, const char *cursubroutinename); 425 extern void Add_CouplePointed_Var_1(const char *namemodule, listcouple *couple); 426 extern void Add_Include_1(const char *name); 495 427 extern void Add_ImplicitNoneSubroutine_1(); 496 extern void WriteIncludeDeclaration( );497 extern void Add_Save_Var_1 (c har *name,listdim *d);428 extern void WriteIncludeDeclaration(FILE* tofile); 429 extern void Add_Save_Var_1 (const char *name,listdim *d); 498 430 extern void Add_Save_Var_dcl_1 (listvar *var); 499 431 /******************************************************************************/ 500 432 /*********** SubLoopCreation.c ************************************************/ 501 433 /******************************************************************************/ 502 extern void writeheadnewsub_0();503 extern void WriteVariablelist_subloop( FILE *outputfile,char *ligne);504 extern void WriteVariablelist_subloop_Call( FILE *outputfile,char *ligne);505 extern void WriteVariablelist_subloop_Def( FILE *outputfile,char *ligne);434 extern void WriteBeginof_SubLoop(); 435 extern void WriteVariablelist_subloop(char *ligne); 436 extern void WriteVariablelist_subloop_Call(char **ligne, size_t line_length); 437 extern void WriteVariablelist_subloop_Def(char *ligne); 506 438 extern void WriteHeadofSubroutineLoop(); 507 439 extern void closeandcallsubloopandincludeit_0(int suborfun); … … 510 442 /*********** toamr.c **********************************************************/ 511 443 /******************************************************************************/ 512 extern char *variablenameroottabvars (variable * var); 513 extern char *variablenametabvars (variable * var, int iorindice); 514 extern char *variablecurgridtabvars (variable * var,int ParentOrCurgrid); 515 extern void WARNING_CharSize(variable *var); 516 extern char *vargridnametabvars (variable * var,int iorindice); 517 extern char *vargridcurgridtabvars (variable * var,int ParentOrCurgrid); 518 extern char *vargridcurgridtabvarswithoutAgrif_Gr (variable * var); 519 extern char *vargridparam (variable * v, int whichone); 444 extern void WARNING_CharSize(const variable *var); 445 extern const char * tabvarsname(const variable *var); 446 extern const char * variablecurgridtabvars(int which_grid); 447 extern const char * vargridnametabvars(const variable *var, int iorindice); 448 extern const char * vargridcurgridtabvars(const variable *var, int which_grid); 449 extern const char * vargridcurgridtabvarswithoutAgrif_Gr(const variable *var); 450 extern const char * vargridparam(const variable *var); 520 451 extern void write_probdimagrif_file(); 521 452 extern void write_keysagrif_file(); 522 453 extern void write_modtypeagrif_file(); 523 extern void write_createvarnameagrif_file(variable *v,FILE *createvarname, 524 int *InitEmpty);454 extern void write_createvarnameagrif_file(variable *v,FILE *createvarname,int *InitEmpty); 455 extern void write_initialisationsagrif_file(variable *v,FILE *initproc,int *VarnameEmpty); 525 456 extern void write_Setnumberofcells_file(); 526 457 extern void write_Getnumberofcells_file(); 527 extern void write_initialisationsagrif_file(variable *v,FILE *initproc,528 int *VarnameEmpty);529 458 extern void Write_Alloc_Agrif_Files(); 530 459 extern int IndiceInlist(int indic, listindice *listin); 531 460 extern void write_allocation_Common_0(); 532 461 extern void write_allocation_Global_0(); 533 extern void creefichieramr (char *NameTampon);462 extern void creefichieramr(); 534 463 /******************************************************************************/ 535 464 /*********** UtilAgrif.c ******************************************************/ 536 465 /******************************************************************************/ 537 extern int Vartonumber(c har *tokname);538 extern int Agrif_in_Tok_NAME(c har *tokname);539 extern void ModifyTheVariableName_0(c har *ident,int lengthname);540 extern void Add_SubroutineWhereAgrifUsed_1(c har *sub,char *mod);466 extern int Vartonumber(const char *tokname); 467 extern int Agrif_in_Tok_NAME(const char *tokname); 468 extern void ModifyTheVariableName_0(const char *ident,int lengthname); 469 extern void Add_SubroutineWhereAgrifUsed_1(const char *sub, const char *mod); 541 470 extern void AddUseAgrifUtil_0(FILE *fileout); 542 471 extern void AddUseAgrifUtilBeforeCall_0(FILE *fileout); 543 extern void NotifyAgrifFunction_0(c har *ident);544 extern void ModifyTheAgrifFunction_0(c har *ident);545 extern void AgriffunctionModify_0(c har *ident,int whichone);546 extern void Instanciation_0(c har *ident);472 extern void NotifyAgrifFunction_0(const char *ident); 473 extern void ModifyTheAgrifFunction_0(const char *ident); 474 extern void AgriffunctionModify_0(const char *ident,int whichone); 475 extern void Instanciation_0(const char *ident); 547 476 /******************************************************************************/ 548 477 /*********** UtilCharacter.c **************************************************/ 549 478 /******************************************************************************/ 550 extern void FindAndChangeNameToTabvars(c har name[LONG_C],char toprint[LONG_4C],479 extern void FindAndChangeNameToTabvars(const char name[LONG_M],char toprint[LONG_M], 551 480 listvar * listtosee, int whichone); 552 extern char *ChangeTheInitalvaluebyTabvarsName(char *nom,listvar *listtoread, 553 int whichone); 554 extern int IsVariableReal(char *nom); 555 extern void IsVarInUseFile(char *nom); 556 extern listnom *DecomposeTheNameinlistnom(char *nom, listnom * listout); 557 extern void DecomposeTheName(char *nom); 558 extern void convert2lower(char *name); 559 extern int convert2int(char *name); 481 extern const char *ChangeTheInitalvaluebyTabvarsName(const char *nom,listvar *listtoread); 482 extern int IsVariableReal(const char *nom); 483 extern void IsVarInUseFile(const char *nom); 484 extern listnom *DecomposeTheNameinlistnom(const char *nom, listnom * listout); 485 extern void DecomposeTheName(const char *nom); 486 extern void convert2lower(char *lowername, const char* inputname); 487 extern int convert2int(const char *name); 560 488 /******************************************************************************/ 561 489 /*********** UtilFile.c *******************************************************/ 562 490 /******************************************************************************/ 563 extern FILE * associate (char *filename);564 extern FILE * associateaplus (char *filename);491 extern FILE * open_for_write (const char *filename); 492 extern FILE * open_for_append (const char *filename); 565 493 extern long int setposcur(); 566 494 extern long int setposcurname(FILE *fileout); 567 extern long int setposcurinoldfortranout(); 568 extern void copyuse_0(char *namemodule); 569 extern void copyuseonly_0(char *namemodule); 495 extern void copyuse_0(const char *namemodule); 496 extern void copyuseonly_0(const char *namemodule); 570 497 /******************************************************************************/ 571 498 /*********** UtilFortran.c ****************************************************/ 572 499 /******************************************************************************/ 573 extern void initdimprob(int dimprobmod, c har * nx, char * ny,char*nz);574 extern int Variableshouldberemove (char *nom);500 extern void initdimprob(int dimprobmod, const char *nx, const char *ny, const char *nz); 501 extern int Variableshouldberemoved(const char *nom); 575 502 extern int variableisglobal(listvar *curvar, listvar *listin); 576 503 extern int VariableIsInListCommon(listvar *curvar,listvar *listin); 577 504 extern int VariableIsInList(listvar *curvar,listvar *listin); 578 extern void variableisglobalinmodule(listcouple *listin, c har *module,505 extern void variableisglobalinmodule(listcouple *listin, const char *module, 579 506 FILE *fileout,long int oldposcuruse); 580 extern void Remove_Word_Contains_0();581 extern void Remove_Word_end_module_0(int modulenamelength);582 extern void Write_Word_Contains_0();583 507 extern void Write_Word_end_module_0(); 584 extern void Add_Subroutine_For_Alloc(char *nom); 585 extern void Write_Alloc_Subroutine_0(); 586 extern void Write_Alloc_Subroutine_For_End_0(); 587 extern void Write_GlobalParameter_Declaration_0(); 588 extern void Write_GlobalType_Declaration_0(); 589 extern void Write_NotGridDepend_Declaration_0(); 508 extern void Add_Subroutine_For_Alloc(const char *nom); 509 extern void Write_Closing_Module(); 590 510 extern int IsTabvarsUseInArgument_0(); 591 511 extern int ImplicitNoneInSubroutine(); … … 593 513 extern void Add_Pointer_Var_1(char *nom); 594 514 extern int varispointer_0(char *ident); 595 extern int VariableIs NotFunction(char *ident);515 extern int VariableIsFunction(const char *ident); 596 516 extern int varistyped_0(char *ident); 517 extern void dump_var(const variable* var); 597 518 /******************************************************************************/ 598 519 /*********** UtilListe.c ******************************************************/ 599 520 /******************************************************************************/ 600 521 extern void Init_Variable(variable *var); 601 extern listvar * AddListvarToListvar(listvar *l,listvar *glob, 602 int ValueFirstpass); 603 extern void CreateAndFillin_Curvar(char *type,variable *curvar); 604 extern void duplicatelistvar(listvar *orig); 522 extern listvar * AddListvarToListvar(listvar *l,listvar *glob, int ValueFirstpass); 523 extern void CreateAndFillin_Curvar(const char *type, variable *curvar); 524 // extern void duplicatelistvar(listvar *orig); 605 525 extern listdim * insertdim(listdim *lin,typedim nom); 606 526 extern void change_dim_char(listdim *lin,listvar * l); 607 extern int num_dims(listdim *d);608 extern variable * createvar(c har *nom,listdim *d);527 extern int get_num_dims(const listdim *d); 528 extern variable * createvar(const char *nom, listdim *d); 609 529 extern listvar * insertvar(listvar *lin,variable *v); 610 extern listvar * settype(char *nom,listvar *lin);530 extern listvar * settype(const char *nom,listvar *lin); 611 531 extern void printliste(listvar * lin); 612 532 extern int IsinListe(listvar *lin,char *nom); 613 533 extern listname *Insertname(listname *lin,char *nom,int sens); 614 534 extern listname *concat_listname(listname *l1, listname *l2); 615 extern void *createstringfromlistname(char *ligne, listname *lin);535 extern void createstringfromlistname(char *ligne, listname *lin); 616 536 extern void printname(listname * lin); 617 537 extern void removeglobfromlist(listname **lin); 618 538 extern void writelistpublic(listname *lin); 619 539 extern void Init_List_Data_Var(); 540 extern void addprecision_derivedfromkind(variable *curvar); 541 extern int get_cat_var(variable *var); 620 542 /******************************************************************************/ 621 543 /*********** UtilNotGridDep.c *************************************************/ … … 626 548 /*********** WorkWithAllocatelist.c *******************************************/ 627 549 /******************************************************************************/ 628 extern void Add_Allocate_Var_1(char *nom,char *nommodule); 629 extern int IsVarAllocatable_0(char *ident); 630 extern int varisallocatable_0(char *ident); 550 extern void Add_Allocate_Var_1(const char *nom, const char *nommodule); 551 extern int IsVarAllocatable_0(const char *ident); 631 552 /******************************************************************************/ 632 553 /*********** WorkWithglobliste.c **********************************************/ … … 643 564 /*********** WorkWithlistmoduleinfile.c ***************************************/ 644 565 /******************************************************************************/ 645 extern void Save_Length(c har *nom, int whichone);566 extern void Save_Length(const char *nom, int whichone); 646 567 extern void Save_Length_int(int val, int whichone); 647 568 /******************************************************************************/ … … 651 572 extern void RecordUseModulesUseModulesVariables(); 652 573 extern void Add_NameOfModuleUsed_1(char *name); 653 extern void Addmoduletothelist(c har *name);654 extern void WriteUsemoduleDeclaration(c har *cursubroutinename);574 extern void Addmoduletothelist(const char *name); 575 extern void WriteUsemoduleDeclaration(const char *cursubroutinename); 655 576 /******************************************************************************/ 656 577 /*********** WorkWithlistvarindoloop.c ****************************************/ 657 578 /******************************************************************************/ 658 extern void Add_UsedInSubroutine_Var_1 (c har *ident);579 extern void Add_UsedInSubroutine_Var_1 (const char *ident); 659 580 extern void ajoutevarindoloop_definedimension (char *name); 660 581 extern void ModifyThelistvarindoloop(); 661 582 extern void CompleteThelistvarindoloop(); 662 extern void CopyRecord(variable *var1,variable *var2);583 extern void Merge_Variables(variable *var1,variable *var2); 663 584 extern void Update_List_Subroutine_Var(listvar *list_to_modify); 664 585 extern void Update_List_Global_Var_From_List_Save_Var(); … … 669 590 extern int LookingForVariableInList(listvar *listin,variable *var); 670 591 extern int LookingForVariableInListGlobal(listvar *listin,variable *var); 671 extern int LookingForVariableInListName(listvar *listin,c har *var);592 extern int LookingForVariableInListName(listvar *listin,const char *var); 672 593 extern int LookingForVariableInListGlob(listvar *listin,variable *var); 673 extern int LookingForVariableInListParamGlob(listparameter *listin, 674 variable *var);594 extern int LookingForVariableInListParamGlob(listparameter *listin, variable *var); 595 extern variable *get_variable_in_list_from_name(listvar *listin, const char *name); 675 596 extern void UpdateListDeclarationWithDimensionList(); 676 597 extern void Clean_List_UsedInSubroutine_Var(); 598 extern void Clean_List_ModuleUsed_Var(); 677 599 extern void Clean_List_SubroutineDeclaration_Var(); 678 600 extern void Clean_List_Global_Var(); … … 692 614 extern void UpdateList_SubroutineWhereAgrifUsed(); 693 615 extern void UpdateList_UsedInSubroutine_With_dimension(); 694 extern void Affiche( );616 extern void Affiche(listvar *parcours); 695 617 extern int SubInList_ContainsSubroutine(); 618 extern void update_indicemaxtabvars(variable *var,listindice **Listofindices); 696 619 /******************************************************************************/ 697 620 /*********** WorkWithParameterlist.c ******************************************/ … … 704 627 /******************************************************************************/ 705 628 extern void Add_SubroutineArgument_Var_1(listvar *listtoadd); 706 extern void Add_FunctionType_Var_1(c har *nom);707 extern void Add_SubroutineDeclaration_Var_1 (listvar *listtoadd);629 extern void Add_FunctionType_Var_1(const char *nom); 630 // extern void Add_SubroutineDeclaration_Var_1 (listvar *listtoadd); 708 631 /******************************************************************************/ 709 632 /*********** Writedeclarations.c **********************************************/ 710 633 /******************************************************************************/ 711 extern void WriteBeginDeclaration(variable *v,char ligne[LONG_4C],int visibility); 712 extern void WriteScalarDeclaration(variable *v,char ligne[LONG_4C]); 713 extern void WriteTableDeclaration(variable * v,char ligne[LONG_4C],int tmpok); 714 extern void writevardeclaration (listvar * var_record, FILE *fileout, 715 int value,int visibility); 716 extern void WriteLocalParamDeclaration(); 717 extern void WriteFunctionDeclaration(int value); 634 extern void WriteBeginDeclaration(variable *v,char ligne[LONG_M],int visibility); 635 extern void WriteScalarDeclaration(variable *v,char ligne[LONG_M]); 636 extern void WriteTableDeclaration(variable * v,char ligne[LONG_M],int tmpok); 637 extern void WriteVarDeclaration( variable *v, FILE *fileout, int value, int visibility ); 638 extern void WriteLocalParamDeclaration(FILE* tofile); 639 extern void WriteFunctionDeclaration(FILE* tofile, int value); 718 640 extern void WriteSubroutineDeclaration(int value); 719 641 extern void WriteArgumentDeclaration_beforecall(); 720 extern void WriteArgumentDeclaration_Sort(); 721 extern listnom *writedeclarationintoamr (listvar * deb_common, FILE *fileout, 722 variable *var , char commonname[LONG_C], 723 listnom *neededparameter, char name_common[LONG_C]); 724 extern void writesub_loopdeclaration_scalar (listvar * deb_common, 725 FILE *fileout); 726 extern void writesub_loopdeclaration_tab (listvar * deb_common, FILE *fileout); 642 extern void WriteArgumentDeclaration_Sort(FILE* tofile); 643 extern listnom * writedeclarationintoamr(listvar *deb_common, FILE *fileout, variable *var, 644 const char *commonname, listnom *neededparameter, const char *name_common); 645 extern void writesub_loopdeclaration_scalar(listvar *deb_common, FILE *fileout); 646 extern void writesub_loopdeclaration_tab(listvar *deb_common, FILE *fileout); 727 647 extern void ReWriteDeclarationAndAddTosubroutine_01(listvar *listdecl); 728 648 extern void ReWriteDataStatement_0(FILE * filout); … … 730 650 /*********** WriteInFile.c ****************************************************/ 731 651 /******************************************************************************/ 732 extern void tofich_reste (FILE * filout, c har *s,int returnlineornot);733 extern void tofich (FILE * filout, c har *s, int returnlineornot);652 extern void tofich_reste (FILE * filout, const char *s, int do_returnline); 653 extern void tofich (FILE * filout, const char *s, int do_returnline); 734 654 extern void tofich_blanc (FILE * filout, int size); 735 extern void tofich_line (FILE * filout, int size, int long position); 736 extern void RemoveWordSET_0(FILE * filout, long int position, 737 long int sizetoremove); 738 extern void RemoveWordCUR_0(FILE * filout, long int position, 739 long int sizetoremove); 655 extern void RemoveWordSET_0(FILE * filout, long int position, int sizetoremove); 656 extern void RemoveWordCUR_0(FILE * filout, int sizetoremove); 740 657 741 658 /******************************************************************************/ 742 659 /*********** WorkWithlistofcoupled.c **********************************************/ 743 /******************************************************************************/ 744 extern int variscoupled_0(char *ident) ; 745 extern char * getcoupledname_0(char *ident); 746 extern void ModifyTheVariableNamecoupled_0(char *ident, char* coupledident); 660 /******************************************************************************/ 661 extern int variscoupled_0(const char *ident) ; 662 extern const char * getcoupledname_0(const char *ident);
Note: See TracChangeset
for help on using the changeset viewer.