1. 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
  2. 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
  3. 18 Jan, 2021 1 commit
    • sparonuz's avatar
      # This is a combination of 5 commits. · c9a0c5d0
      sparonuz authored
      [FixMerge]: Sources were not red in order ...
      
      [FixMerge]: Find use statement inside functions or sbr, now get variables use the introduces info
      c9a0c5d0
  4. 14 Jan, 2021 1 commit
  5. 10 Dec, 2020 1 commit
  6. 09 Dec, 2020 1 commit
  7. 07 Dec, 2020 1 commit
  8. 04 Dec, 2020 3 commits
  9. 03 Dec, 2020 3 commits
  10. 02 Dec, 2020 4 commits
  11. 01 Dec, 2020 4 commits
  12. 25 Nov, 2020 1 commit
  13. 24 Nov, 2020 3 commits
  14. 20 Nov, 2020 2 commits
  15. 18 Nov, 2020 8 commits
  16. 17 Nov, 2020 5 commits