New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 663 for trunk/AGRIF/LIB/main.c – NEMO

Changeset 663 for trunk/AGRIF/LIB/main.c


Ignore:
Timestamp:
2007-05-25T18:00:33+02:00 (17 years ago)
Author:
opalod
Message:

RB: update CONV

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/AGRIF/LIB/main.c

    r530 r663  
    166166YYSTYPE yyvs[YYSTACKSIZE]; 
    167167#define yystacksize YYSTACKSIZE 
    168 #line 84 "convert.y" 
     168#line 83 "convert.y" 
    169169 
    170170int main(int argc,char *argv[]) 
     
    175175   int i; 
    176176   listnom *parcours; 
    177  
    178    if (argc < 2)  
     177   listvar *newvar; 
     178 
     179   if (argc < 2) 
    179180   { 
    180181       printf("usage : conv <file> [-rm] [-incdir <directory>] \n"); 
    181182       printf(" [-comdirin   <directory>] [-comdirout <directory>]\n"); 
    182        printf(" [-convfile  <FILENAME >] -SubloopScalar -SubloopScalar1 \n");  
    183        printf(" -f77\n");  
     183       printf(" [-convfile  <FILENAME >] -SubloopScalar -SubloopScalar1 \n"); 
    184184       exit(0); 
    185185   } 
     
    187187/*  1-  Variables initialization                                              */ 
    188188/******************************************************************************/ 
    189    globliste=(listvar *)NULL; 
    190    listenamelist=(listnamelist *)NULL; 
    191    globparam=(listvar *)NULL; 
    192    AllocateList=(listallocate *)NULL; 
    193    commonlist=(listvarcommon *)NULL; 
    194    listofsubroutinewhereagrifisused=(listnom *)NULL; 
    195    listofincludebysubroutine=(listusemodule *)NULL; 
    196    listofmodulebysubroutine=(listusemodule *)NULL; 
     189   List_Global_Var=(listvar *)NULL; 
     190   List_GlobalParameter_Var=(listvar *)NULL; 
     191   List_Allocate_Var=(listallocate *)NULL; 
     192   List_Common_Var=(listvar *)NULL; 
     193   List_SubroutineWhereAgrifUsed=(listnom *)NULL; 
     194   List_Subroutine_For_Alloc=(listnom *)NULL; 
     195   List_Include=(listusemodule *)NULL; 
     196   List_NameOfModuleUsed=(listusemodule *)NULL; 
    197197   listofmoduletmp=(listusemodule *)NULL; 
    198    listmoduleinfile=(listmodule *)NULL; 
    199    varofsubroutineliste=(listvar *)NULL; 
    200    varsubroutine=(listvar *)NULL; 
    201    listvarindoloop=(listvar *)NULL; 
    202    listenotgriddepend=(listvar *)NULL; 
     198   List_SubroutineDeclaration_Var=(listvar *)NULL; 
     199   List_UsedInSubroutine_Var=(listvar *)NULL; 
     200   List_NotGridDepend_Var=(listvar *)NULL; 
    203201   Listofavailableindices=(listindice *)NULL; 
    204    Listofvarpointtovar=(listvarpointtovar *)NULL; 
    205    globalvarofusefile = (listvar *)NULL; 
    206    globalvarofusefile2 = (listvar *)NULL; 
    207    tmpparameterlocallist = (listparameter *)NULL; 
    208    tmpparameterlocallist2 = (listparameter *)NULL; 
    209     
    210    strcpy(mainfile,argv[1]);     
     202   List_CouplePointed_Var=(listvarpointtovar *)NULL; 
     203   List_ModuleUsed_Var = (listvar *)NULL; 
     204   List_ModuleUsedInModuleUsed_Var = (listvar *)NULL; 
     205   List_GlobParamModuleUsed_Var = (listparameter *)NULL; 
     206   List_GlobParamModuleUsedInModuleUsed_Var = (listparameter *)NULL; 
     207   List_SubroutineArgument_Var = (listvar *)NULL; 
     208   List_FunctionType_Var = (listvar *)NULL; 
     209   tmpuselocallist = (listusemodule *)NULL; 
     210   List_ContainsSubroutine = (listnom *)NULL; 
     211 
     212   strcpy(mainfile,argv[1]); 
    211213   strcpy(nomdir,"AGRIF_INC"); 
    212214   strcpy(commondirin,"."); 
    213215   strcpy(commondirout,"."); 
    214    strcpy(filetoparse," ");  
    215    strcpy(subofagrifinitgrids,"");  
     216   strcpy(filetoparse," "); 
     217   strcpy(subofagrifinitgrids,""); 
    216218   strcpy(meetagrifinitgrids,""); 
    217    strcpy(meetmpiinit,""); 
    218219   strcpy(mpiinitvar,""); 
    219220 
    220    listofvarofusemodulecreated=0; 
    221221   checkexistcommon=1; 
    222    fortran77 = 0 ; 
    223    Did_filetoparse_treated = 0 ; 
    224222   todebug=0; 
    225223   onlyfixedgrids=0; 
     
    231229   created_dimensionlist = 1; 
    232230   indicemaxtabvars = 0;   /* current indice in the table tabvars             */ 
    233    oldindicemaxtabvars = 0;/* current indice in the table tabvars             */ 
    234231   SubloopScalar = 0; 
     232   todebug = 0; 
     233   todebugfree = 0; 
     234   retour77 = 1 ; 
     235   mark = 0 ; 
     236   shouldincludempif = 0 ; 
    235237/******************************************************************************/ 
    236238/*  2-  Program arguments                                                     */ 
    237239/******************************************************************************/ 
    238240 
    239    if ((yyin=fopen(argv[1],"r"))==NULL)  
     241   if ((yyin=fopen(argv[1],"r"))==NULL) 
    240242   { 
    241243      printf("the file %s doesn't exist \n",argv[1]); 
    242       exit(0);     
     244      exit(0); 
    243245   } 
    244246 
     
    246248   while (i<argc) 
    247249   { 
    248       if (!strcasecmp(argv[i],"-incdir"))  
     250      if (!strcasecmp(argv[i],"-incdir")) 
    249251      { 
    250252         strcpy(nomdir,argv[i+1]); 
     
    252254      } 
    253255      else if (!strcasecmp(argv[i],"-comdirin")) /* input directory           */ 
    254       {      
     256      { 
    255257         strcpy(commondirin,argv[i+1]); 
    256258         i++; 
     
    260262         strcpy(commondirout,argv[i+1]); 
    261263         i++; 
    262       }       
     264      } 
    263265      else if (!strcasecmp(argv[i],"-convfile")) /* file to parse             */ 
    264       {      
     266      { 
    265267         strcpy(filetoparse,argv[i+1]); 
    266268         i++; 
    267       }    
    268       else if (!strcasecmp(argv[i],"-f77")) /* fortran 77 file to parse       */ 
    269       {      
    270          fortran77 = 1 ; 
    271       }    
     269      } 
    272270      else if (!strcasecmp(argv[i],"-SubloopScalar")) /* file to parse        */ 
    273       {      
     271      { 
    274272         SubloopScalar = 1 ; 
    275       }    
     273      } 
    276274      else if (!strcasecmp(argv[i],"-SubloopScalar1")) /* file to parse       */ 
    277       {      
     275      { 
    278276         SubloopScalar = 2 ; 
    279       }    
    280       else if (!strcasecmp(argv[i],"-rm"))  
    281       {      
     277      } 
     278      else if (!strcasecmp(argv[i],"-todebug")) /* file to parse       */ 
     279      { 
     280         todebug = 1 ; 
     281      } 
     282      else if (!strcasecmp(argv[i],"-mark")) /* file to parse       */ 
     283      { 
     284         mark = 1 ; 
     285      } 
     286      else if (!strcasecmp(argv[i],"-todebugfree")) /* file to parse       */ 
     287      { 
     288         todebugfree = 1 ; 
     289      } 
     290      else if (!strcasecmp(argv[i],"-rm")) 
     291      { 
    282292         checkexistcommon=0; 
    283293      } 
    284       else  
     294      else 
    285295      { 
    286296         printf("Unkwon option : %s\n",argv[i]); 
    287297         exit(0); 
    288298      } 
    289       i++;        
    290    }   
     299      i++; 
     300   } 
    291301 
    292302/******************************************************************************/ 
     
    294304/******************************************************************************/ 
    295305 
    296    if ((yyin=fopen(argv[1],"r"))==NULL)  
     306   if ((yyin=fopen(argv[1],"r"))==NULL) 
    297307   { 
    298308       printf("the file %s doesn't exist \n",argv[1]); 
    299        exit(0);     
     309       exit(0); 
    300310   } 
    301    strcpy(mainfile,argv[1]);     
     311   strcpy(mainfile,argv[1]); 
     312 
     313   if ( strstr(filetoparse,".f90") || 
     314        strstr(filetoparse,".F90") ) retour77 = 0; 
    302315 
    303316   yyparse(); 
     
    309322   { 
    310323      printf("the file %s doesn't exist \n",filetoparse); 
    311       exit(0);     
     324      exit(0); 
    312325   } 
    313    /* NameTamponfile : the name of the model file extract from the name       */ 
    314    /*    of agrif_module_<NameTamponfile>                                     */ 
    315    tmp = strchr(filetoparse, '.'); 
    316    NameTamponfile=(char *)malloc( 
    317                               (strlen(filetoparse)-strlen(tmp)+1)*sizeof(char)); 
    318    strncpy(NameTamponfile,filetoparse,strlen(filetoparse)-strlen(tmp)+1); 
    319    strcpy (&NameTamponfile[strlen(filetoparse)-strlen(tmp)], "\0"); 
    320326   /* mainfile : the name of the file to parse                                */ 
    321    strcpy(mainfile,filetoparse);     
    322    /* We should verify that this file has not been read before                */ 
    323    /* if it is the case we record the old globliste in the tmplocallist       */ 
    324    tmplocallist = (listvar *)NULL; 
    325    tmpuselocallist = (listusemodule *)NULL; 
    326    Did_filetoparse_treated = Did_filetoparse_readed(NameTamponfile); 
    327    /* if  Did_filetoparse_treated = 1 then the file to parse has been treated */ 
    328    if ( Did_filetoparse_treated == 0 )  
     327   strcpy(mainfile,filetoparse); 
     328   /*                                                                         */ 
     329   if ((dependglobaloutput=fopen(".dependglobal_agrif","r"))!=NULL) 
    329330   { 
    330      /* if the filetoparse has not been treated, we should know the last      */ 
    331      /*    tabvars indices which has been used                                */ 
    332      if ((dependglobaloutput=fopen(".dependglobal","r"))!=NULL)  
    333      { 
    334         fscanf(dependglobaloutput,"%d\n",&indicemaxtabvars); 
    335         fclose(dependglobaloutput); 
    336         oldindicemaxtabvars = indicemaxtabvars; 
    337      } 
    338    }    
    339    /* Read the .dependnbxnby file which contains indices of nbmaillsX,       */ 
     331      fscanf(dependglobaloutput,"%d\n",&indicemaxtabvars); 
     332      fclose(dependglobaloutput); 
     333   } 
     334   Readthedependavailablefile(); 
     335   /* Read the .dependnbxnby file which contains indices of nbmaillsX,        */ 
    340336   /*    nbmailleY and nbmailleZ                                              */ 
    341337   Readthedependnbxnbyfile(); 
    342  
     338   Read_Subroutine_For_Alloc(); 
    343339/******************************************************************************/ 
    344 /*  4-  Parsing of the input file (2 times)                                   */ 
     340/*  5-  Parsing of the input file (2 times)                                   */ 
    345341/******************************************************************************/ 
    346  
    347    firstpass = 1;  
    348    processfortran(filetoparse);  
    349    firstpass = 0;  
     342   /* Record all variable in list                                             */ 
     343   firstpass = 1; 
    350344   processfortran(filetoparse); 
     345   /*                                                                         */ 
     346   CompleteThelistvarindoloop(); 
     347   /* Read list of module used                                                */ 
     348   RecordUseModulesVariables(); 
     349   /* Read list of module used in module used                                 */ 
     350   RecordUseModulesUseModulesVariables(); 
     351   /* Save variables are considered as globals ones                           */ 
     352   Update_List_Global_Var_From_List_Save_Var(); 
     353   /* Update all lists                                                        */ 
     354   ListUpdate(); 
     355   /* Indice tabvars identification                                           */ 
     356   IndiceTabvarsIdentification(); 
     357   /* Update all lists                                                        */ 
     358   ListUpdate(); 
     359   /* The allocation subroutine is necessary ????                             */ 
     360   New_Allocate_Subroutine_Is_Necessary(); 
     361   /* The allocation subroutine is necessary for common list                  */ 
     362   New_Allocate_Subroutine_For_Common_Is_Necessary(); 
     363   /* Sort List_SubroutineArgument_Var                                        */ 
     364   Sort_List_SubroutineArgument_Var(); 
     365   /* Clean all lists                                                         */ 
     366   ListClean(); 
     367   /* Update Indice of List_UsedInSubroutine_Var from module used             */ 
     368   List_UsedInSubroutine_Var_Update_From_Module_Used(); 
     369   /* Update List_SubroutineWhereAgrifUsed                                    */ 
     370   UpdateList_SubroutineWhereAgrifUsed(); 
     371   /* Update List_UsedInSubroutine_Var with v_readedlistdimension             */ 
     372   UpdateList_UsedInSubroutine_With_dimension();; 
     373   /*                                                                         */ 
     374   ModifyThelistvarindoloop(); 
     375   /*                                                                         */ 
     376   UpdateListDeclarationWithDimensionList(); 
     377   /*                                                                         */ 
     378   GiveTypeOfVariables(); 
     379   Affiche(); 
     380   /* Build new subroutines                                                   */ 
     381   firstpass = 0; 
     382   processfortran(filetoparse); 
    351383 
    352384/******************************************************************************/ 
    353 /*  5-  Write informations in output files                                    */ 
     385/*  6-  Write informations in output files                                    */ 
    354386/******************************************************************************/ 
    355387 
    356    if ( Did_filetoparse_treated == 0 ) /* if the file has never been treated  */ 
    357    { 
    358       /* Write the .dependglobal file which contain the max indice            */ 
    359       /*    of the tabvars table                                              */ 
    360       dependglobaloutput = fopen(".dependglobal","w"); 
    361       fprintf(dependglobaloutput,"%d\n",indicemaxtabvars); 
    362       fclose(dependglobaloutput); 
    363       /* Write the .depend<namefile> file which contain general informations  */ 
    364       /*    about variable of this file                                       */ 
    365       parcours = modulelist; 
    366       while( parcours ) 
    367       { 
    368          Writethedependfile(parcours->nom,globliste); 
    369          parcours=parcours->suiv; 
    370       } 
    371    } 
    372  
    373 /******************************************************************************/ 
    374 /*  7-  Remove the non grid dependent variables                               */ 
    375 /******************************************************************************/ 
    376  
    377    /* we should remove from the globliste the non grid dependent variables    */ 
    378    RemoveNotgriddependFromGlobliste(); 
    379  
    380 /******************************************************************************/ 
    381 /*  8-  Write informations in output files                                    */ 
    382 /******************************************************************************/ 
    383  
    384    /* if this file has been treated in past called,                           */ 
    385    /*    we should compare the old parsing (record in the tmplocallist)       */ 
    386    /*    and the new one contained in the globliste                           */ 
    387    if ( Did_filetoparse_treated == 1 )  
    388    { 
    389       parcours = modulelist; 
    390       while( parcours ) 
    391       { 
    392          tmplocallist= Readthedependfile( parcours->nom  ,tmplocallist ); 
    393          parcours=parcours->suiv; 
    394       } 
    395       /* if the filetoparse has not been treated, we should know              */ 
    396       /*    the last tabvars indices which has been used                      */ 
    397      if ((dependglobaloutput=fopen(".dependglobal","r"))!=NULL)  
    398      { 
    399         fscanf(dependglobaloutput,"%d\n",&indicemaxtabvars); 
    400         fclose(dependglobaloutput); 
    401         oldindicemaxtabvars = indicemaxtabvars; 
    402      } 
    403      /* Read the list of available indice                                     */ 
    404      Readthedependavailablefile(); 
    405      /* the old treatement has been recorded in the tmplocallist              */ 
    406      /* Now we should compare the old treatement with the new one             */ 
    407 /*mazauric for each module */ 
    408      CompareNewparsingandoldone(); 
    409      /* Write the .dependglobal file which contain general informations       */ 
    410      /*    about globlist                                                     */ 
    411      dependglobaloutput = fopen(".dependglobal","w"); 
    412      fprintf(dependglobaloutput,"%d\n",indicemaxtabvars); 
    413      fclose(dependglobaloutput); 
    414      /* Write the list of available indice                                    */ 
    415      Writethedependavailablefile();   
    416      /* Write the .depend<namefile> file which contain general                */ 
    417      /*    informations about variable of this file                           */ 
    418      parcours = modulelist; 
    419      while( parcours ) 
    420      { 
    421         Writethedependfile(parcours->nom,globliste); 
    422         parcours=parcours->suiv; 
    423      } 
    424      /* Write the .dependnbxnby file which contains indices of nbmaillsX,     */ 
    425      /*    nbmailleY and nbmailleZ                                            */ 
    426      Writethedependnbxnbyfile(); 
    427    } 
     388   /* Write the .dependglobal_agrif file which contain the max indice         */ 
     389   /*    of the tabvars table                                                 */ 
     390   dependglobaloutput = fopen(".dependglobal_agrif","w"); 
     391   fprintf(dependglobaloutput,"%d\n",indicemaxtabvars); 
     392   fclose(dependglobaloutput); 
     393   /* Write the list of available indice                                      */ 
     394   Writethedependavailablefile(); 
    428395   /* Write the .dependnbxnby file which contains indices of nbmaillsX,       */ 
    429396   /*    nbmailleY and nbmailleZ                                              */ 
    430397   Writethedependnbxnbyfile(); 
    431    /* Write the list of module used in this file                              */ 
    432    Writethedependlistofmoduleused(NameTamponfile); 
    433    WritedependParameterList(NameTamponfile); 
     398   /* Write the .depend<namefile> file which contain general informations     */ 
     399   /*    about variable of this file                                          */ 
     400   parcours = List_NameOfModule; 
     401   while( parcours ) 
     402   { 
     403      Writethedependlistofmoduleused(parcours->o_nom); 
     404      WritedependParameterList(parcours->o_nom); 
     405      Writethedependfile(parcours->o_nom,List_Global_Var); 
     406      parcours=parcours->suiv; 
     407   } 
     408   parcours = List_NameOfCommon; 
     409   while( parcours ) 
     410   { 
     411      Writethedependfile(parcours->o_nom,List_Common_Var); 
     412      parcours=parcours->suiv; 
     413   } 
     414   Write_Subroutine_For_Alloc(); 
    434415/******************************************************************************/ 
    435 /*  8-  Create files in AGRIF_INC directory                                   */ 
     416/*  7-  Create files in AGRIF_INC directory                                   */ 
    436417/******************************************************************************/ 
    437418   creefichieramr(NameTamponfile); 
    438    if ( todebug == 1 ) deallocation_all(); 
     419 
     420 
     421   if ( todebug == 1 ) printf("Out of CONV \n"); 
    439422   return 0; 
    440423} 
    441 #line 442 "y.tab.c" 
     424#line 425 "y.tab.c" 
    442425#define YYABORT goto yyabort 
    443426#define YYREJECT goto yyabort 
     
    594577case 7: 
    595578#line 72 "convert.y" 
    596 {listofmodules = Addtolistnom(yyvsp[-1].na,listofmodules); 
    597                                 Addmoduletothelist(yyvsp[-1].na);} 
     579{listofmodules = Addtolistnom(yyvsp[-1].na,listofmodules,0); 
     580                                                        Addmoduletothelist(yyvsp[-1].na);} 
    598581break; 
    599582case 8: 
    600583#line 74 "convert.y" 
    601 {ajoutenotgriddep(yyvsp[-1].na);} 
     584{Add_NotGridDepend_Var_1(yyvsp[-1].na);} 
    602585break; 
    603586case 9: 
     
    608591                                    if (!strcasecmp(yyvsp[-1].na,"ONLY_FIXED_GRIDS")) 
    609592                                                             onlyfixedgrids=1; 
    610                                     if (!strcasecmp(yyvsp[-1].na,"DEBUG"))    todebug=1; 
    611593                                 } 
    612594break; 
    613 #line 614 "y.tab.c" 
     595#line 596 "y.tab.c" 
    614596    } 
    615597    yyssp -= yym; 
     
    955937#define YY_NUM_RULES 12 
    956938#define YY_END_OF_BUFFER 13 
    957 static yyconst short int yy_accept[77] = 
     939static yyconst short int yy_accept[74] = 
    958940    {   0, 
    959941        0,    0,    0,    0,   13,   12,   11,   10,   12,    9, 
    960942       12,   12,   12,    9,    8,    8,    8,    8,    8,    8, 
    961         8,   11,    0,    4,    7,    5,    8,    8,    8,    8, 
    962         8,    8,    8,    8,    8,    8,    8,    8,    3,    8, 
    963         8,    8,    8,    8,    6,    8,    8,    8,    8,    8, 
     943       11,    0,    4,    7,    5,    8,    8,    8,    8,    8, 
     944        8,    8,    6,    8,    8,    8,    8,    3,    8,    8, 
    964945        8,    8,    8,    8,    8,    8,    8,    8,    8,    8, 
    965         8,    8,    8,    8,    8,    8,    2,    8,    8,    8, 
    966         1,    8,    8,    8,    8,    0 
     946        8,    8,    8,    8,    8,    8,    8,    8,    8,    8, 
     947        8,    8,    8,    2,    8,    8,    8,    1,    8,    8, 
     948        8,    8,    0 
    967949    } ; 
    968950 
     
    974956        1,    2,    1,    1,    1,    1,    4,    1,    1,    5, 
    975957        6,    1,    1,    7,    1,    1,    1,    8,    9,   10, 
    976        11,    8,    8,    8,    8,    8,    8,   12,   13,    1, 
    977         1,    1,    1,    1,   17,   18,   19,   20,   21,   22, 
     958       11,    8,    8,    8,   12,    8,    8,   13,   14,    1, 
     959        1,    1,    1,    1,   18,   19,   19,   20,   21,   22, 
    978960       23,   19,   24,   19,   19,   25,   26,   27,   28,   29, 
    979961       19,   30,   31,   32,   33,   19,   19,   34,   35,   19, 
    980        14,    1,   15,    1,   16,    1,   17,   18,   19,   20, 
     962       15,    1,   16,    1,   17,    1,   18,   19,   19,   20, 
    981963 
    982964       21,   22,   23,   19,   24,   19,   19,   25,   26,   27, 
     
    1002984    {   0, 
    1003985        1,    1,    2,    1,    1,    1,    1,    3,    3,    3, 
    1004         3,    1,    1,    1,    1,    3,    3,    3,    3,    3, 
     986        3,    3,    1,    1,    1,    1,    3,    3,    3,    3, 
    1005987        3,    3,    3,    3,    3,    3,    3,    3,    3,    3, 
    1006988        3,    3,    3,    3,    3 
    1007989    } ; 
    1008990 
    1009 static yyconst short int yy_base[79] = 
     991static yyconst short int yy_base[76] = 
    1010992    {   0, 
    1011         0,    0,    0,    0,   98,   99,   95,   99,   92,   99, 
    1012        75,   74,   73,   80,    0,   70,   66,   61,   61,   70, 
    1013        55,   83,   80,   79,   99,   99,    0,   64,   47,   48, 
    1014        54,   48,   56,   43,   54,   51,   38,   55,    0,   48, 
    1015        50,   39,   52,   41,    0,   50,   41,   42,   37,   39, 
    1016        41,   36,   31,   28,   37,   22,   35,   30,   32,   31, 
    1017        18,   30,   20,   28,   22,   15,    0,   29,   23,   20, 
    1018         0,   12,   17,   20,    8,   99,   35,   34 
     993        0,    0,    0,    0,   96,   97,   93,   97,   90,   97, 
     994       73,   72,   71,   77,    0,   24,   61,   61,   69,   55, 
     995       83,   80,   79,   97,   97,    0,   70,   47,   48,   54, 
     996       48,   56,    0,   55,   52,   39,   55,    0,   52,   41, 
     997       53,   43,   51,   43,   44,   39,   41,   43,   38,   33, 
     998       30,   39,   24,   37,   32,   34,   33,   20,   32,   21, 
     999       27,   21,   14,    0,   27,   22,   19,    0,   11,   16, 
     1000       19,    7,   97,   48,   34 
    10191001    } ; 
    10201002 
    1021 static yyconst short int yy_def[79] = 
     1003static yyconst short int yy_def[76] = 
    10221004    {   0, 
    1023        76,    1,    1,    1,   76,   76,   76,   76,   77,   76, 
    1024        76,   76,   76,   76,   78,   78,   78,   78,   78,   78, 
    1025        78,   76,   77,   77,   76,   76,   78,   78,   78,   78, 
    1026        78,   78,   78,   78,   78,   78,   78,   78,   78,   78, 
    1027        78,   78,   78,   78,   78,   78,   78,   78,   78,   78, 
    1028        78,   78,   78,   78,   78,   78,   78,   78,   78,   78, 
    1029        78,   78,   78,   78,   78,   78,   78,   78,   78,   78, 
    1030        78,   78,   78,   78,   78,    0,   76,   76 
     1005       73,    1,    1,    1,   73,   73,   73,   73,   74,   73, 
     1006       73,   73,   73,   73,   75,   75,   75,   75,   75,   75, 
     1007       73,   74,   74,   73,   73,   75,   75,   75,   75,   75, 
     1008       75,   75,   75,   75,   75,   75,   75,   75,   75,   75, 
     1009       75,   75,   75,   75,   75,   75,   75,   75,   75,   75, 
     1010       75,   75,   75,   75,   75,   75,   75,   75,   75,   75, 
     1011       75,   75,   75,   75,   75,   75,   75,   75,   75,   75, 
     1012       75,   75,    0,   73,   73 
    10311013    } ; 
    10321014 
    1033 static yyconst short int yy_nxt[135] = 
     1015static yyconst short int yy_nxt[133] = 
    10341016    {   0, 
    10351017        6,    7,    8,    9,   10,   10,   10,    6,   11,   12, 
    1036        13,   14,   10,   10,   10,   15,   15,   15,   15,   16, 
    1037        15,   17,   15,   15,   15,   15,   18,   19,   20,   15, 
    1038        15,   15,   21,   15,   15,   23,   27,   23,   45,   75, 
    1039        74,   73,   72,   71,   70,   45,   69,   68,   67,   66, 
    1040        65,   64,   63,   62,   61,   60,   59,   58,   57,   56, 
    1041        55,   54,   53,   52,   51,   50,   49,   48,   47,   46, 
    1042        45,   44,   43,   42,   41,   40,   39,   38,   37,   36, 
    1043        35,   34,   24,   24,   22,   33,   32,   31,   30,   29, 
    1044        28,   26,   25,   25,   25,   24,   22,   76,    5,   76, 
    1045  
    1046        76,   76,   76,   76,   76,   76,   76,   76,   76,   76, 
    1047        76,   76,   76,   76,   76,   76,   76,   76,   76,   76, 
    1048        76,   76,   76,   76,   76,   76,   76,   76,   76,   76, 
    1049        76,   76,   76,   76 
     1018       13,    6,   14,   10,   10,   10,   15,   15,   15,   15, 
     1019       15,   16,   15,   15,   15,   15,   17,   18,   19,   15, 
     1020       15,   15,   20,   15,   15,   27,   26,   33,   72,   71, 
     1021       70,   69,   68,   67,   33,   66,   65,   28,   22,   64, 
     1022       22,   63,   62,   61,   60,   59,   58,   57,   56,   55, 
     1023       54,   53,   52,   51,   50,   49,   48,   47,   46,   45, 
     1024       44,   43,   42,   41,   40,   39,   38,   37,   36,   35, 
     1025       34,   33,   23,   23,   21,   32,   31,   30,   29,   25, 
     1026       24,   24,   24,   23,   21,   73,    5,   73,   73,   73, 
     1027 
     1028       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
     1029       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
     1030       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
     1031       73,   73 
    10501032    } ; 
    10511033 
    1052 static yyconst short int yy_chk[135] = 
     1034static yyconst short int yy_chk[133] = 
    10531035    {   0, 
    10541036        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    10551037        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    10561038        1,    1,    1,    1,    1,    1,    1,    1,    1,    1, 
    1057         1,    1,    1,    1,    1,   77,   78,   77,   75,   74, 
    1058        73,   72,   70,   69,   68,   66,   65,   64,   63,   62, 
    1059        61,   60,   59,   58,   57,   56,   55,   54,   53,   52, 
    1060        51,   50,   49,   48,   47,   46,   44,   43,   42,   41, 
    1061        40,   38,   37,   36,   35,   34,   33,   32,   31,   30, 
    1062        29,   28,   24,   23,   22,   21,   20,   19,   18,   17, 
    1063        16,   14,   13,   12,   11,    9,    7,    5,   76,   76, 
    1064  
    1065        76,   76,   76,   76,   76,   76,   76,   76,   76,   76, 
    1066        76,   76,   76,   76,   76,   76,   76,   76,   76,   76, 
    1067        76,   76,   76,   76,   76,   76,   76,   76,   76,   76, 
    1068        76,   76,   76,   76 
     1039        1,    1,    1,    1,    1,   16,   75,   72,   71,   70, 
     1040       69,   67,   66,   65,   63,   62,   61,   16,   74,   60, 
     1041       74,   59,   58,   57,   56,   55,   54,   53,   52,   51, 
     1042       50,   49,   48,   47,   46,   45,   44,   43,   42,   41, 
     1043       40,   39,   37,   36,   35,   34,   32,   31,   30,   29, 
     1044       28,   27,   23,   22,   21,   20,   19,   18,   17,   14, 
     1045       13,   12,   11,    9,    7,    5,   73,   73,   73,   73, 
     1046 
     1047       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
     1048       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
     1049       73,   73,   73,   73,   73,   73,   73,   73,   73,   73, 
     1050       73,   73 
    10691051    } ; 
    10701052 
     
    10861068/*     CONV (converter) for Agrif (Adaptive Grid Refinement In Fortran)       */ 
    10871069/*                                                                            */ 
    1088 /* Copyright or © or Copr. Laurent Debreu (Laurent.Debreu@imag.fr)            */ 
    1089 /*                        Cyril Mazauric (Cyril.Mazauric@imag.fr)             */ 
     1070/* Copyright or   or Copr. Laurent Debreu (Laurent.Debreu@imag.fr)            */ 
     1071/*                        Cyril Mazauric (Cyril_Mazauric@yahoo.fr)            */ 
    10901072/* This software is governed by the CeCILL-C license under French law and     */ 
    10911073/* abiding by the rules of distribution of free software.  You can  use,      */ 
     
    11141096/* knowledge of the CeCILL-C license and that you accept its terms.           */ 
    11151097/******************************************************************************/ 
    1116 /* version 1.0                                                                */ 
     1098/* version 1.6                                                                */ 
    11171099/******************************************************************************/ 
    11181100#define character 1 
     
    13301312            { 
    13311313            yy_current_state = (int) yy_def[yy_current_state]; 
    1332             if ( yy_current_state >= 77 ) 
     1314            if ( yy_current_state >= 74 ) 
    13331315               yy_c = yy_meta[(unsigned int) yy_c]; 
    13341316            } 
     
    13361318         ++yy_cp; 
    13371319         } 
    1338       while ( yy_base[yy_current_state] != 99 ); 
     1320      while ( yy_base[yy_current_state] != 97 ); 
    13391321 
    13401322yy_find_action: 
     
    17161698         { 
    17171699         yy_current_state = (int) yy_def[yy_current_state]; 
    1718          if ( yy_current_state >= 77 ) 
     1700         if ( yy_current_state >= 74 ) 
    17191701            yy_c = yy_meta[(unsigned int) yy_c]; 
    17201702         } 
     
    17511733      { 
    17521734      yy_current_state = (int) yy_def[yy_current_state]; 
    1753       if ( yy_current_state >= 77 ) 
     1735      if ( yy_current_state >= 74 ) 
    17541736         yy_c = yy_meta[(unsigned int) yy_c]; 
    17551737      } 
    17561738   yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 
    1757    yy_is_jam = (yy_current_state == 76); 
     1739   yy_is_jam = (yy_current_state == 73); 
    17581740 
    17591741   return yy_is_jam ? 0 : yy_current_state; 
Note: See TracChangeset for help on using the changeset viewer.