1. 15 Jun, 2021 1 commit
    • sparonuz's avatar
      [Issue#77]: # This is a combination of 42 commits. · cd939da3
      sparonuz authored
      [Issue#77]: Fix bug in update_blocks: the father block was not correctely set
      
      [Issue#77]: Remove CodeCleaner.py
      
      [Issue#77]: function read_file removed from ReadSourceFile class. class ReadSourceFile moved to SourceFile
      
      [Issue#77]: Removed SourceManager: it was containing functions that belonged somwhere else.
      
      [Issue#77]: Fix for issue sparonuz/AutoRPE#147: these scripts are now useless
      
      [Issue#77]: Added parameter working precision to function that checks if two types are equivalent
      
      [Issue#77]: FIX: get_type_of_content was giving char for argument that are function with char argument, but the function per se was not char
      
      [Issue#77]: Module class was loading again lines from source file, which is kind of overkill, since this is already done by SourceFile class. This is moreover wrong is some changes were done in between
      
      [Issue#77]: SubprogramCall has now a member to store the block were the call is done
      
      [Issue#77]: Functions to add cast to non coherent calls: for the moment has been tested on the firs calls found
      
      [Issue#77]: Added function to create a regex for name occurrence: was failing if name contained parenthesis
      
      [Issue#77]: Now adds the #  include \"single_precision_substitute.h90\" clause
      
      [Issue#77]: Added fix for reshapes
      
      [Issue#77]: Dependece were not propagated correctely because the id property was used: it did't make much sense
      
      [Issue#77]: For the moment commented out the part that should suggest to create an interface
      
      [Issue#77]: added function to escape string to put them in regex
      cd939da3
  2. 19 Feb, 2021 1 commit
    • sparonuz's avatar
      # This is a combination of 69 commits. · 3ee17b6a
      sparonuz authored
      [refactor_parseSources]: The idea is to always read the sources into load_source_files routine, and remove a lot of useless steps
      
      [refactor_parseSources]: Managed case in which two function with the same name exist
      
      [develop]: moved and improved  regex for capturing subprogram calls
      
      [develop]: Fix get_procedure_by_name that was a bit of a mess
      
      [develop]: mv source_file to source_file_info + fixed storage of interface (everything was doubled) + imports
      
      [develop]: Now basic structures have module info
      
      [develop]: Intruduced function to get derived type constructor
      
      [develop]: Now call_to_function does not recognize structures as functions
      
      [develop]: New regex for  split_read_arguments
      
      [develop]: Introduced get_procedure function: is meant to replace calls_to_subprogram and the great number of fixed within. It does not identify vectors as funcions.
      
      [develop]: _fix_functions has been refactored, it was a mess of useless call
      
      [develop]: Now module also have the lines saved in it, and a function to rebuild text
      
      [develop]: Save vault added as a function to vault
      
      [develop]: Moved load vault and save vault to Vault file. Now parse source is called inside the Vault constructor
      
      [develop]: Added function to find var used in namelist, function split_by_appearance_in_namelist was taking around 3/4 minutes. Now we parse this info in parse sources, and this function takes around 1 sec
      
      [develop]: removed old function + simplified regex for finding function/srb declaration
      
      [develop]: Moved function clean_contents from cleaner to Getter
      
      [develop]: Simplified function to detect subrutine calls
      
      [develop]: Refactored function fix subroutine
      
      [develop]: Added function to fix externals
      
      [develop]: Refactored ImplementRPE, now this class is used just for Implementing RPE
      
      [develop]: Added function to store external subroutine used
      
      [develop]: Removed functions fix_functions fix_subroutines fix_external_subroutines , and replaced by fix_subprogram
      
      [develop]: Now also used external functions are stored in vault. Bettered regex for call_to_functions
      
      [develop]: Removed functions to parse implicit functions, that are no more used, anyway they are store in https://earth.bsc.es/gitlab/otinto/AutoRPE/-/snippets/73
      
      [develop]: Removed from Inserter all the duplicated function that were searching variables in sbr call to truncate then the var.
      
      [Issue#107]: Removed DerivedTypeDealer, and moved functions elsewhere
      
      [Issue#107]: Now the get_real_in_line uses the get_procedure, and does a check on the pointer. Removed _clean_from_intrinsics, now uses strip_from_intrinsics.
      3ee17b6a
  3. 03 Feb, 2021 1 commit
  4. 28 Jan, 2021 1 commit
    • sparonuz's avatar
      [(nobranch,rebasingotinto/AutoRPE#91)]: # This is a combination of 49 commits. · 2fcdfdf5
      sparonuz authored
      [otinto/AutoRPE#91]: CleanCode cleans code, and has to be used to produce sources for ImplementRPEtoSources and MakeVault scripts
      
      [otinto/AutoRPE#91]: Function preprocess_sources now divided between the part that cleans the code and the one that creates files with RPE type declaration
      [otinto/AutoRPE#91]: No tmp folder are required in MakeVault.
      [otinto/AutoRPE#91]: Removed some unused function, and removed useless layer for getting members of structures
      [otinto/AutoRPE#91]: BugFix for allocate with '::'symbol detected as var declaration
      [otinto/AutoRPE#91]: Update of the test with refactoring, and fix for imports`
      [otinto/AutoRPE#91]: Added array for external types used and manage the case a external type is used
      [otinto/AutoRPE#91]: Test for the find_function_type_from_header were failing, fixed a bug. Closing Issue #93
      [otinto/AutoRPE#91]: Fixed for: functions as arugments, external variables as arguments, a call to get_type_of_contents was made without specifying the routine.
      [otinto/AutoRPE#91]: Introduction of get_function_type , to shorten a bit get_type_of_contents, that is still too long.
      [otinto/AutoRPE#91]:  Regex for hardcoded array was matching with array inside function. Closes #95 .
      [otinto/AutoRPE#91]: check for keyword argument was missing in  get_dimension_of_contents
      [otinto/AutoRPE#91]: Partially fix the case a write statement was using an array. Added corresponding test
      [otinto/AutoRPE#91]: Changed the name of replace_real to replace_real_with_RPE_declaration + refactoring
      [otinto/AutoRPE#91]: Fixed and moved regex for real declaration (Issue #96 ). Small renaming
      [otinto/AutoRPE#91]:  This solves the variables duplication
      [otinto/AutoRPE#91]: Function/Subroutine/Interfaces are subprograms, Function/Subroutine/Interfaces/Main/DerivedType are procedures. Everything was mixed, and called routine, sometimes procedure.
      [otinto/AutoRPE#91]: Renamed function that fill dictionary of var, and fix the syntax.
      [otinto/AutoRPE#91]: Trying to speed up with dictionary otinto/AutoRPE#41
      [otinto/AutoRPE#91]: DerivedType class moved to BasicStructure for coherency. Changes for adding the dict of accessible_var
      [otinto/AutoRPE#91]: is_call_to_function_vault added check for intrinsics + added check for array  to is_call_to_function+Formatting
      [otinto/AutoRPE#91]:fix import + get_variable_by_name: now properly uses dictionary accessible_var, in the correct order + function for filling those dict
      2fcdfdf5
  5. 16 Nov, 2020 2 commits
  6. 08 Apr, 2020 1 commit
  7. 01 Apr, 2020 2 commits