Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeffrey Overbey2011-06-07 05:23:28 +0000
committerJeffrey Overbey2011-06-07 05:23:28 +0000
commita22f1a92ca083a203dac3a4d3c849c907bee86e6 (patch)
treef473d9b1c8e6adb0243c5884ef03f95f362f29bd /org.eclipse.photran.doc.user
parent4382206b29da67fdd34afb8b1bfac086ca493f49 (diff)
downloadorg.eclipse.photran-a22f1a92ca083a203dac3a4d3c849c907bee86e6.tar.gz
org.eclipse.photran-a22f1a92ca083a203dac3a4d3c849c907bee86e6.tar.xz
org.eclipse.photran-a22f1a92ca083a203dac3a4d3c849c907bee86e6.zip
Updated user documentation for Photran 7
Diffstat (limited to 'org.eclipse.photran.doc.user')
-rw-r--r--org.eclipse.photran.doc.user/html/advanced/Introduction.html2
-rw-r--r--org.eclipse.photran.doc.user/html/advanced/Refactoring.html657
-rw-r--r--org.eclipse.photran.doc.user/html/advanced/top.html8
-rw-r--r--org.eclipse.photran.doc.user/html/basic/AdvancedFeatures.html14
-rw-r--r--org.eclipse.photran.doc.user/html/basic/CompilingFortran.html4
-rw-r--r--org.eclipse.photran.doc.user/html/basic/GettingStarted.html4
-rw-r--r--org.eclipse.photran.doc.user/html/basic/InstallingPhotran.html153
-rw-r--r--org.eclipse.photran.doc.user/html/basic/RunningDebuggingFortran.html16
-rw-r--r--org.eclipse.photran.doc.user/html/basic/StartingNewProject.html13
-rw-r--r--org.eclipse.photran.doc.user/html/basic/UpgradingProjects.html8
-rw-r--r--org.eclipse.photran.doc.user/html/basic/WritingCode.html22
-rw-r--r--org.eclipse.photran.doc.user/html/basic/top.html7
-rw-r--r--org.eclipse.photran.doc.user/html/images/Add_Identifier_to_END.pngbin0 -> 112890 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Add_Subroutine_Parameter.pngbin0 -> 45540 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Browse_VPG_Database.pngbin0 -> 190961 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Change_Subroutine_Signature.pngbin0 -> 115233 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Change_Subroutine_to_Function.pngbin0 -> 84017 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Code_Templates.pngbin0 -> 70792 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Convert_Between_If_Statement_and_If_Construct.pngbin0 -> 43055 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Display_Binder_Statistics.pngbin0 -> 27197 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Display_Database.pngbin0 -> 90503 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Display_Database_Statistics.pngbin0 -> 42615 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Display_Edge_Model_of_Current_File.pngbin0 -> 111198 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Display_Symbol_Table_for_Current_File.pngbin0 -> 37614 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Find_All_Declarations_in_Scope.pngbin0 -> 39284 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Fonts.pngbin0 -> 77967 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Highlight_Variable_Accesses.pngbin0 -> 49792 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Make_Save_Attributes_Explicit.pngbin0 -> 43003 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Move_Module_Entities.pngbin0 -> 95143 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/RemoveArithmeticIf.pngbin0 -> 66375 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/RemoveComputedGoto.pngbin0 -> 45037 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Remove_Assigned_Goto.pngbin0 -> 62860 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Remove_Branch_to_End_If.pngbin0 -> 42272 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Remove_Pause_Statement.pngbin0 -> 42333 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Remove_Real_or_Double_Precision_Loop_Counter.pngbin0 -> 39956 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Remove_Unreferenced_Labels.pngbin0 -> 37206 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Replace_Character-_with_Character(len=).pngbin0 -> 41432 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Replace_Old-Style_Do_Loops.pngbin0 -> 41822 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Safe-Delete_Internal_Subprograms.pngbin0 -> 62358 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/Text_Editors.pngbin0 -> 104332 bytes
-rw-r--r--org.eclipse.photran.doc.user/html/images/TheEditor.pngbin0 -> 59529 bytes
-rw-r--r--org.eclipse.photran.doc.user/tocbasic.xml2
42 files changed, 519 insertions, 391 deletions
diff --git a/org.eclipse.photran.doc.user/html/advanced/Introduction.html b/org.eclipse.photran.doc.user/html/advanced/Introduction.html
index a5e9e659..661cb5cc 100644
--- a/org.eclipse.photran.doc.user/html/advanced/Introduction.html
+++ b/org.eclipse.photran.doc.user/html/advanced/Introduction.html
@@ -5,7 +5,7 @@
<link rel="stylesheet" type="text/css" href="../help.css"/>
</head>
<body>
-<div><p>Photran 6.0 includes a number of sophisticated features
+<div><p>Photran 7.0 includes a number of sophisticated features
that are designed to make it easier to write, modify,
search, and maintain Fortran code. These include
<i>content assist,</i> which can &quot;auto-complete&quot; variable
diff --git a/org.eclipse.photran.doc.user/html/advanced/Refactoring.html b/org.eclipse.photran.doc.user/html/advanced/Refactoring.html
index 6da2fa04..d74df3e3 100644
--- a/org.eclipse.photran.doc.user/html/advanced/Refactoring.html
+++ b/org.eclipse.photran.doc.user/html/advanced/Refactoring.html
@@ -103,8 +103,113 @@ have the given name, and they will all be renamed.
<small>2. Components of derived types cannot be renamed</small><br>
<small>3. Intrinsic subprograms and type-bound procedures (Fortran 2003) cannot be renamed</small>
</p>
-</p><h1>Encapsulate variable
+</p><h1>Extract Procedure
</h1><p><ul>
+<li><b>Description:</b> Extract Procedure removes a sequence of statements from a procedure,
+places them into a new subroutine, and replaces the original statements with a call to that
+subroutine. Any local variables used by those statements will be passed as parameters to
+the new procedure. This refactoring is generally used to make long procedures shorter.
+<li><b>Applies To:</b> A sequence of one or more action statements inside a procedure or main program.
+<li><b>Operation:</b>
+<ol>
+<li> Select a sequence of one or more action statements in the editor. Be sure to include the
+newline following the last statement in the selection.
+<li> Click Refactor &gt; Extract Procedure... The Extract Procedure dialog will appear.<br>
+<center>
+<img src="../images/Photran-extract-proc-dialog.png" alt="Extract Procedure dialog"></img></center>
+<li> Enter a name for the new procedure that will be created.
+<li> Click Preview to see what changes will be made, then click OK to apply them.
+</ol>
+<li><b>Example:</b><br>
+<center>
+<img src="../images/Photran-extract-proc-1.png" alt="Simple example of the Extract Procedure refactoring"></img></center>
+</ul>
+</p><h1>Extract Local Variable
+</h1><p><ul>
+<li><b>Description:</b> Extract Local Variable removes a subexpression from a larger expression
+and assigns that subexpression to a local variable, replacing the original subexpression
+with a reference to that variable. This refactoring is usually used to eliminate duplicated
+subexpressions or to introduce explanatory variable names into complex expressions.
+<li><b>Caveats:</b> The refactoring will only be allowed to proceed if extracting the
+subexpression will preserve the associativity and precedence of the original expression.
+This refactoring assumes that the extracted expression has no side effects; it does
+<b>not
+</b> check whether moving the computation of the extracted expression will change the
+behavior of the program.
+<li><b>Operation:</b>
+<ol>
+<li> Select an expression in the editor.
+<li> Click Refactor &gt; Extract Local Variable...
+The Extract Local Variable dialog will appear.
+<li> Enter the type and name for the new local variable that will be created.
+<li> Click Preview to see what changes will be made, then click OK to apply them.
+</ol>
+</ul>
+</p><h1>Subprogram Refactorings
+</h1><h2>Add Subroutine Parameter
+</h2><p><ul>
+<li><b>Description:</b> This refactoring will add a parameter to a subroutine.
+<li><b>Applies To:</b> A subroutine.
+<li><b>Operation:</b>
+<ol>
+<li>Select the subroutine name or subroutine statement
+<li>Click Refactoring &gt; Subprogram &gt; Add Subroutine Parameter (or press Shift+Alt+P)
+<li>Use the input page to choose the type, intent, and name of the parameter.
+<li>Type in numbers for the default value and position.
+<li>Click preview to view the changes without applying, or OK to apply the changes.
+</ol>
+<li><b>Example:</b>
+<center>
+<img src="../images/Add Subroutine Parameter.png" alt="Example of Add Subroutine Parameter refactoring."></img></center>
+</ul>
+</p><h2>Permute Subprogram Arguments
+</h2><p><ul>
+<li><b>Description:</b> This refactoring will change the order of the arguments to a subroutine and adjust all call sites accordingly.
+<li><b>Applies To:</b> All files calling the selected subroutine.
+<li><b>Operation:</b>
+<ol>
+<li>Select the subroutine name or subroutine statement
+<li>Click Refactoring &gt; Subprogram &gt; Change Subroutine Signature.
+<li>Use the input page's up and down buttons to rearrange the order of the arguments for the subroutine.
+<li>Click preview to view the changes without applying, or OK to apply the changes.
+</ol>
+<li><b>Example:</b>
+<center>
+<img src="../images/Change Subroutine Signature.png" alt="Example of Change Subroutine Signature refactoring."></img></center>
+</ul>
+</p><h2>Safe Delete
+</h2><p><ul>
+<li><b>Description:</b> This refactoring will remove all Internal Subprograms from a given Host. The refactoring fails if there are any references to the subprogram.
+<li><b>Applies To:</b> A file.
+<li><b>Operation:</b>
+<ol>
+<li>Select the subroutine name or subroutine statement to remove
+<li>Click Refactoring &gt; Subprogram &gt; Safe Delete
+<li>Click preview to view the changes without applying, or OK to apply the changes.
+</ol>
+<li><b>Example:</b>
+<center>
+<img src="../images/Safe-Delete Internal Subprograms.png" alt="Example of the Safe-Delete Internal Subprograms refactoring."></img></center>
+</ul>
+</p><h1>Module Refactorings
+</h1><h2> Make Private Entity Public
+</h2><ul><li><b>Description:
+</b> Changes a module variable or subprogram from PRIVATE to PUBLIC visibility, and checks that it won't conflict with any existing name where that module is USEd.
+</li><li><b>Applies To:
+</b> Variables, subroutines, functions.
+</li><li><b>Does Not Apply To:
+</b> Intrinsics, Externals, Interfaces.
+</li><li><b>Operation:
+</b><ol><li>Select the name of the private entity you wish to make public.
+</li><li>Choose Refactor &gt; Module &gt; Make Private Entity Public.
+</li><li>Click Preview to see what changes will be made, then click OK to apply them.
+</li></ol></li><li><b>Example
+</b><br> <center>
+<img src="../images/Photran-priv-to-public.PNG" alt="Example of make private entity public refactoring."></img></center>
+</li></ul><p><br> <center>
+<img src="../images/Photran-priv-to-public2.PNG" alt="Example 2 of make private entity public refactoring."></img></center>
+</p><h2>Encapsulate Variable
+</h2><p><ul>
<li><b>Description:</b> Encapsulate variable creates getter and setter methods for the selected variable
in the module where it is defined and changes variable's visibility to <b>private</b>.
It also replaces all uses of that variable in all files to use getter and setter method calls<sup>1</sup>.
@@ -124,7 +229,7 @@ It also replaces all uses of that variable in all files to use getter and setter
<li><b>Operation:</b>
<ol>
<li> Click on or select the name of variable you want to encapsulate.
-<li> Click Refactor &gt; Encapsulate Variable. The Encapsulate Variable dialog will appear.<br>
+<li> Click Refactor &gt; Module &gt; Encapsulate Variable. The Encapsulate Variable dialog will appear.<br>
<center>
<img src="../images/GetterSetterNames.jpg" alt="Getter and setter name menu for encapsulating variable <b>temp</b>"></img></center>
<li> Enter names for getter and setter methods. You will be warned if the names that you want to assign to your getter and setter methods will be conflicting with some other identifier in any of the involved files.
@@ -142,15 +247,77 @@ It also replaces all uses of that variable in all files to use getter and setter
the value of the variable as a side-effect, that change will not be preserved.
</small><br>
</p>
-</p><h1>Interchange loops
-</h1><p><ul>
+</p><h1>Use Statement Refactorings
+</h1><h2> Add ONLY Clause to USE Statement
+</h2><ul><li><b>Description:
+</b> Creates a list of the symbols that are being used from a module, and adds it to the USE statement.
+</li><li><b>Applies To:
+</b> All modules containing public definitions.
+</li><li><b>Does not apply to:
+</b> Empty modules or modules with only private entities.
+</li><li><b>Operation:
+</b><ol><li>Select the name of the module in the USE statement you wish to add an ONLY clause to.
+</li><li>Choose Refactor &gt; Use Statement &gt; Add Only Clause to Use Statement.
+</li><li>Select which module entities you wish to include in the ONLY list. Any entities in an existing ONLY list will already be selected and can be deselected to be removed.<br><center>
+<img src="../images/Photran-add-only-dialog.PNG" alt="Add ONLY to USE dialog"></img></center>
+</li><li>Click Preview to see what changes will be made, then click OK to apply them.
+</li></ol></li><li><b>Example
+</b><br> <center>
+<img src="../images/Photran-add-only-list.PNG" alt="Example of Add ONLY clause to USE statement refactoring."></img></center>
+</li></ul><h2> Minimize ONLY List
+</h2><ul><li><b>Description:
+</b> Deletes symbols that are not being used from the ONLY list in a USE statement.
+</li><li><b>Applies To:
+</b> USE statements with an ONLY clause.
+</li><li><b>Operation:
+</b><ol><li>Select the name of the module in the USE statement you wish to minimize the ONLY list for.
+</li><li>Choose Refactor &gt; &gt; Use Statement &gt; Minimize Only List.
+</li><li>Click Preview to see what changes will be made, then click OK to apply them.
+</li></ol></li><li><b>Example
+</b><br> <center>
+<img src="../images/Photran-min-only-list.PNG" alt="Example of Minimize ONLY list refactoring."></img></center>
+</li></ul><h1>Common Block Refactorings
+</h1><h2> Make Common Block Variable Names Consistent
+</h2><ul><li><b>Description:
+</b> Fortran allows different definitions of a COMMON block to give the same variable different names. This is confusing. This refactoring gives the variables the same names in all definitions of the COMMON block.
+</li><li><b>Applies To:
+</b> All COMMON blocks with a valid name.
+</li><li><b>Does not apply to:
+</b> COMMON blocks with a NULL name.
+</li><li><b>Operation:
+</b><ol><li>Select the name of the COMMON block in the editor which you wish to make variable names consistent for.
+</li><li>Choose Refactor &gt; Common Block &gt; Make Common Block Variable Names Consistent.
+</li><li>Enter the new names which you wish to give the COMMON variables. The default new names are the original names in the selected block with &quot;_common&quot; appended.<br><center>
+<img src="../images/Photran-make-common-var-names-consist-dialog.PNG" alt="Make common var names consistent dialog"></img></center>
+</li><li>Click Preview to see what changes will be made, then click OK to apply them.
+</li></ol></li><li><b>Example
+</b><br> <center>
+<img src="../images/Photran-make-common-var-names-consist.PNG" alt="Example of Make COMMON variable names consistent refactoring."></img></center> <center>
+<img src="../images/Photran-make-common-var-names-consist-1.PNG" alt="Example of Make COMMON variable names consistent refactoring."></img></center>
+</li></ul><h2>Move Saved Variables to Common Block
+</h2><p><ul>
+<li><b>Description:</b> Move Saved Variables to Common Block creates a common block for all &quot;saved&quot; variables of a subprogram. Declarations of these variables in the subprogram are transformed such that they are no longer &quot;saved&quot;. The generated common block is declared both in the main PROGRAM and in the affected subprogram. Variables placed in the common block are renamed such that they do not conflict or shadow other variables. The current implementation assumes that the subprogram is in the CONTAINS section of the PROGRAM.
+<li><b>Applies To:</b> Subprograms.
+<li><b>Operation:</b>
+<ol>
+<li> Click on the declaration statement of a subprogram.
+<li> Click Refactor &gt; Common Block &gt; Move Saved Variables to Common Block.
+<li> Click Preview to see what changes will be made, then click OK to apply them.
+</ol>
+<li><b>Example:</b><br>
+<center>
+<img src="../images/MoveSavedToCommonBlock.PNG" alt="Example of the Introduce Implicit None refactoring"></img></center>
+</ul>
+</p><h1>Loop Refactorings
+</h1><h2>Interchange Loops
+</h2><p><ul>
<li><b>Description:</b> Swaps inner and outer loops of the selected nested do-loop<sup>1</sup>. This refactoring merely
switches the inner and outer do-headers. It will not make any changes to the body of the loop.
<li><b>Applies To:</b> Selected nested do-loop
<li><b>Operation:</b>
<ol>
<li> Select the nested loops you wish to interchange
-<li> Click Refactor &gt; Interchange Loops. The Interchange loops dialog will appear.<br>
+<li> Click Refactor &gt; Do Loop &gt; Interchange Loops. The Interchange loops dialog will appear.<br>
<li> Click Preview to see what changes will be made, then click OK to apply them.
</ol>
<li><b>Example:</b><br>
@@ -163,48 +330,152 @@ before the second loop. If such statements exist, correctness of the
refactoring is not guaranteed.
</small>
</p>
-</p><h1>Introduce Implicit None
-</h1><p><ul>
-<li><b>Description:</b> Adds IMPLICIT NONE statements to a file
-and adds explicit declarations for all variables that were previously declared implicitly.
-<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
+</p><h2>Fuse Loops
+</h2><p><ul>
+<li><b>Description:</b> Takes two do-loops, normalizes their bounds, and finally puts the loop bodies in a single do-loop.
+<li><b>Applies To:</b> Find the two do-loops you want to fuse, and select only the first one<sup>1</sup>. If there are any statements in between the two loops, the statements will remain after the fused do-loop. In order for the loops to be compatible, the loops need to have the same number of iterations (the bounds do not need to be the same, just the number of times the body of the loop is accessed).
<li><b>Operation:</b>
<ol>
-<li> This is a multiple-file refactoring.
+<li>Select the first do-loop to be fused.
+<li>Click Refactor &gt; Do Loop &gt; Fuse Loops.
+<li>Click Preview to see a comparison view of the changes made, and OK to apply the changes.
+</ol>
+<li><b>Example:</b>
+<center>
+<img src="../images/FusionRefactoringExample.jpg" alt="Example of Loop Fusion with loops of different bounds"></img></center>
+</ul>
+<p>
+<small>1. The refactoring will find the next listed do-loop in your code (even with other lines of code in between them).
+</small>
+</p>
+</p><h2>Reverse Loop
+</h2><p><ul>
+<li><b>Description:</b> Takes an incrementing or decrementing loop, swaps the lower and upper bounds, and negates the step.
+<li><b>Applies To:</b> Selected do-loop
+<li><b>Operation:</b>
+<ol>
+<li> Select full do-loop or do-loop header
+<li> Click Refactor &gt; Do Loop &gt; Reverse Loop.
+<li> Click Preview to see a comparison view of the changes made, and OK to apply the changes.
+</ol>
+<li><b>Example:</b>
+<center>
+<img src="../images/ReverseLoopExample.jpg" alt="Example of Reverse Loop Refactoring"></img></center>
+</ul>
+</p><h2>Tile Loop
+</h2><p><ul>
+<li><b>Description:</b> This refactoring takes a double nested do-loop, and creates a nested do-loop with four levels of depth. Instead of iterating through a two dimensional array (for example) by going through each row, it will loop over smaller tile blocks
+<li><b>Applies To:</b> A double nested do-loop where both step values are 1.
+<li><b>Inputs:</b>
<ul>
-<li> <i>To Introduce Implicit None in a single file,</i>
-open the file in the editor and choose
-Refactor &gt; Introduce Implicit None
-from the menu bar.
-<li> <i>To Introduce Implicit None in multiple files,</i>
-select the files in the Fortran Projects view,
-right-click on any of the selected filenames,
-and choose
-Refactor &gt; Introduce Implicit None
-from the popup menu.
+<li> Tile Size: The size of the accessing block or tile. So, if the tile size is 3, an array will be accessed in 3x3 blocks.
+<li> Tile Offset: Adjusts where the blocks start (all the data will always be covered no matter where it starts).
+</ul>
+<li><b>Operation:</b>
+<ol>
+<li> Select the whole nested do-loop, or the header of the top nested do-loop.
+<li> Click Refactoring &gt; Do Loop &gt; Tile Loop.
+<li> Enter a tile step and tile offset, then click preview to view changes, or OK to apply changes.
+</ol>
+<li><b>Example:</b>
+<center>
+<img src="../images/TilingExample.jpg" alt="Example of loop tiling with a tile size of 20 and a tile offset of 5."></img></center>
+</ul>
+</p><h2> Unroll Loop
+</h2><ul><li><b>Description:
+</b> Takes the selected do-loop and either completely or partially unrolls it. This will also optionally include a conditional statement to make sure the loop stays in bounds.
+</li><li><b>Applies To:
+</b> A do-loop that doesn't contain labels, and never writes to the index variable (Ex: read(*,*) indexVar)
+</li><li><b>Operation:
+</b><ol><li>Select the loop to unroll (or just the header).
+</li><li>Click Refactoring &gt; Do Loop &gt; Unroll Loop.
+</li><li>Select either the number of times you would like to unroll the loop, or check the &quot;Complete unrolling&quot; box. Uncheck the &quot;Include bounds checking&quot; box if you don't want a conditional statement to ensure proper loop bounds in numbered loop unrolling.
+</li><li>Click Preview to see the changes this refactoring will make, and OK to make the changes.
+</li></ol></li><li><b>Example(Numbered):
+</b> <center>
+<img src="../images/NumLoopUnrollWBoundsCheck.jpg" alt="Preview of unrolling a loop four times including a bounds check"></img></center>
+</li><li><b>Example(Complete):
+</b> <center>
+<img src="../images/CompleteLoopUnrolling.jpg" alt="Preview of completely unrolling a loop"></img></center>
+</li></ul><h1>Refactorings to Remove Obsolete Language Features
+</h1><h2>Remove Arithmetic If
+</h2><p><ul>
+<li><b>Description:</b> This refactoring will remove all arithmetic if statements, a feature that became obsolete in Fortran 90, from a single file or all the files in a project.
+<li><b>Applies To:</b> A project or file.
+<li><b>Operation:</b>
+<ol>
+<li>Select the project or file with arithmetic if statements to remove.
+<li>Click Refactoring &gt; Obsolete Language Features &gt; Remove Arithmetic If Statements
+<li>Click preview to view the changes without applying, or OK to apply the changes.
+</ol>
+<li><b>Example:</b>
+<center>
+<img src="../images/RemoveArithmeticIf.png" alt="Example of the Remove Arithmetic If Statement refactoring."></img></center>
</ul>
+</p><h2>Remove Assigned Goto
+</h2><p><ul>
+<li><b>Description:</b> This refactoring will remove all assigned goto statements and replace them with case blocks.
+<li><b>Applies To:</b> All assigned goto statements.
+<li><b>Operation:</b>
+<ol>
+<li>Click Refactoring &gt; &gt; Obsolete Language Features &gt; Remove Assigned Goto.
+<li>Choose Yes if you want to add a default case, otherwise choose No.
+<li>Click preview to view the changes without applying, or OK to apply the changes.
+</ol>
+<li><b>Example:</b>
+<center>
+<img src="../images/Remove Assigned Goto.png" alt="Example of the Remove Arithmetic If Statement refactoring."></img></center>
+</ul>
+</p><h2>Remove Branch to End If
+</h2><p><ul>
+<li><b>Description:</b> Removes the branch to END IF statements. The GOTO statements carry outbranching. Branching to end if is replaced with branching to CONTINUE statement that immediately follows the END IF statement.
+<li><b>Applies To:</b> Selected end if statement
+<li><b>Operation:</b>
+<ol>
+<li> Select an end if statement with a statement label
+<li> Click Refactor &gt; Obsolete Language Features &gt; Remove Branch to End If <br>
<li> Click Preview to see what changes will be made, then click OK to apply them.
</ol>
<li><b>Example:</b><br>
<center>
-<img src="../images/Photran-intro-implicit-1.png" alt="Example of the Introduce Implicit None refactoring"></img></center>
+<img src="../images/Remove Branch to End If.png" alt="Simple example of Remove Branch to End If refactoring"></img></center>
</ul>
-</p><h1>Move Saved Variables to Common Block
-</h1><p><ul>
-<li><b>Description:</b> Move Saved Variables to Common Block creates a common block for all &quot;saved&quot; variables of a subprogram. Declarations of these variables in the subprogram are transformed such that they are no longer &quot;saved&quot;. The generated common block is declared both in the main PROGRAM and in the affected subprogram. Variables placed in the common block are renamed such that they do not conflict or shadow other variables. The current implementation assumes that the subprogram is in the CONTAINS section of the PROGRAM.
-<li><b>Applies To:</b> Subprograms.
+<p>
+</p>
+</p><h2>Replace Character* with Character(len=)
+</h2><p><ul>
+<li><b>Description:</b> Replaces character*n declaration with character(len=n) declaration.
+<li><b>Applies To:</b> All character declarations
<li><b>Operation:</b>
<ol>
-<li> Click on the declaration statement of a subprogram.
-<li> Click Refactor &gt; Move Saved Variables to Common Block.
+<li> Select one of the character declaration statements
+<li> Click Refactor &gt; Obsolete Language Features &gt; Replace Character* with Character(len=)... The Replace Character* with Character(len=) will appear.<br>
<li> Click Preview to see what changes will be made, then click OK to apply them.
</ol>
<li><b>Example:</b><br>
<center>
-<img src="../images/MoveSavedToCommonBlock.PNG" alt="Example of the Introduce Implicit None refactoring"></img></center>
+<img src="../images/Replace Character* with Character(len=).png" alt="Simple example of Replace Character* with Character (len=) refactoring"></img></center>
</ul>
-</p><h1>Replace Obsolete Operators
-</h1><p><ul>
+<p>
+</p>
+</p><h2>Remove Computed Goto
+</h2><p><ul>
+<li><b>Description:</b> Replaces computed goto statement with select case statement
+<li><b>Applies To:</b> Selected computed goto statement
+<li><b>Operation:</b>
+<ol>
+<li> Select the computed goto statement you wish to remove
+<li> Click Refactor &gt; Obsolete Language Features &gt; Remove Computed Goto. The Remove Computed Goto dialog will appear.<br>
+<li> Click Preview to see what changes will be made, then click OK to apply them.
+</ol>
+<li><b>Example:</b><br>
+<center>
+<img src="../images/RemoveComputedGoto.png" alt="Simple example of Remove Computed Goto refactoring"></img></center>
+</ul>
+<p>
+</p>
+</p><h2>Replace Obsolete Operators
+</h2><p><ul>
<li><b>Description:</b> Replace Obsolete Operators replaces all uses of old-style
comparison operators (such as .LT. and .EQ.) with their newer equivalents
(symbols such as &lt; and ==).
@@ -217,13 +488,13 @@ and adds explicit declarations for all variables that were previously declared i
<ul>
<li> <i>To Replace Obsolete Operators in a single file,</i>
open the file in the editor and choose
-Refactor &gt; Replace Obsolete Operators
+Refactor &gt; Obsolete Language Features &gt; Replace Obsolete Operators
from the menu bar.
<li> <i>To Replace Obsolete Operators in multiple files,</i>
select the files in the Fortran Projects view,
right-click on any of the selected filenames,
and choose
-Refactor &gt; Replace Obsolete Operators
+Refactor &gt; Obsolete Language Features &gt; Replace Obsolete Operators
from the popup menu.
</ul>
<li> Click Preview to see what changes will be made, then click OK to apply them.
@@ -232,218 +503,242 @@ from the popup menu.
<center>
<img src="../images/Photran-replace-obsolete-1.png" alt="Example of the Replace Obsolete Operators refactoring"></img></center>
</ul>
-</p><h1>Standardize Statements
-</h1><p><ul>
-<li><b>Description:</b> Standardize Statements rewrites all variables declarations, so that
-<ul>
-<li>there is only one variable declaration per line, and
-<li>every variable declaration contains a double colon (::).
-</ul> This is intended to make the code more readable.
-<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
+</p><h2>Replace Old-Style Do Loops
+</h2><p><ul>
+<li><b>Description:</b> Replaces old-style do loops with the modern style of do loops
+<li><b>Applies To:</b> All old-style do loops
+<li><b>Operation:</b>
+<ol>
+<li> Click Refactor &gt; Obsolete Language Features &gt; Remove Old-Style Do Loops.<br>
+<li> Click Preview to see what changes will be made, then click OK to apply them.
+</ol>
+<li><b>Example:</b><br>
+<center>
+<img src="../images/Replace Old-Style Do Loops.png" alt="Simple example of Remove Old-Style Do Loop refactoring"></img></center>
+</ul>
+<p>
+</p>
+</p><h2>Remove Pause Statement
+</h2><p><ul>
+<li><b>Description:</b> Replaces pause statement with empty print and read statements
+<li><b>Applies To:</b> Selected pause statement
+<li><b>Operation:</b>
+<ol>
+<li> Select the pause statement you wish to remove
+<li> Click Refactor &gt; Obsolete Language Features &gt; Remove Pause Statement.<br>
+<li> Click Preview to see what changes will be made, then click OK to apply them.
+</ol>
+<li><b>Example:</b><br>
+<center>
+<img src="../images/Remove Pause Statement.png" alt="Simple example of Remove Pause Statement refactoring"></img></center>
+</ul>
+<p>
+</p>
+</p><h2>Remove Real/Double Precision Loop Counter
+</h2><p><ul>
+<li><b>Description:</b> Transforms a do or do while loop with control to a do or do while loop without control.
+<li><b>Applies To:</b> Selected loop
+<li><b>Operation:</b>
+<ol>
+<li> Select the loop you wish to transform
+<li> Click Refactor &gt; Obsolete Language Features &gt; Remove Real/Double Precision Loop Counter.<br>
+<li> Choose either do loop or do while loop.
+<li> Click Preview to see what changes will be made, then click OK to apply them.
+</ol>
+<li><b>Example:</b><br>
+<center>
+<img src="../images/Remove Real or Double Precision Loop Counter.png" alt="Simple example of Remove Real/Double Precision Loop Counter refactoring"></img></center>
+</ul>
+<p>
+</p>
+</p><h1>Refactorings to Improve Coding Style
+</h1><h2>Add Identifier to End Statement
+</h2><p><ul>
+<li><b>Description:</b> This refactoring will add the program/subprogram name to an end statement.
+<li><b>Applies To:</b> A file or project.
+<li><b>Operation:</b>
+<ol>
+<li>Select the file or project.
+<li>Click Refactoring &gt; Coding Style &gt; Add Identifier to End Statement
+<li>Click preview to view the changes without applying, or OK to apply the changes.
+</ol>
+<li><b>Example:</b>
+<center>
+<img src="../images/Add Identifier to END.png" alt="Example of Add Identifier to END statement refactoring."></img></center>
+</ul>
+</p><h2>Change Keyword Case
+</h2><p><ul>
+<li><b>Description:</b> Makes all applicable keywords the same case throughout the selected Fortran
+program files.
+<li><b>Applies To:</b> All keywords except those listed below.
+<li><b>Does not apply to:</b>
+<ol>
+<li> Identifiers
+<li> All constants except for integer constants and real constants
+</ol>
<li><b>Operation:</b>
<ol>
<li> This is a multiple-file refactoring.
<ul>
-<li> <i>To Standardize Statements in a single file,</i>
-open the file in the editor and choose
-Refactor &gt; Standardize Statements
-from the menu bar.
-<li> <i>To Standardize Statements in multiple files,</i>
-select the files in the Fortran Projects view,
-right-click on any of the selected filenames,
-and choose
-Refactor &gt; Standardize Statements
-from the popup menu.
+<li> <i>To Change Keyword Case in a single file,</i>
+open the file in the editor and choose Refactor &gt; Coding Style &gt; Change Keyword Case from the menu bar.
+<li> <i>To Introduce Implicit None in multiple files,</i> select the
+files in the Fortran Projects view, right-click on any of the selected filenames,
+and choose Refactor &gt; Coding Style &gt; Change Keyword Case from the popup menu.
</ul>
+<li> Select Upper or Lower Case<br>
+<center>
+<img src="../images/Photran-canonicalize-keyword-cap-dialog.PNG" alt="Canonicalize keyword capitalization dialog."></img></center>
<li> Click Preview to see what changes will be made, then click OK to apply them.
</ol>
+<li><b>Example</b><br>
+<center>
+<img src="../images/Photran-canonicalize-keyword-cap-1.PNG" alt="Example of Canonicalize Keyword Capitalization refactoring."></img></center>
+</ul>
+</p><h2>Convert Between If Statement and If Construct
+</h2><p><ul>
+<li><b>Description:</b> Converts a simple if statement to an if construct with a then block and possible else block.
+<li><b>Applies To:</b> Selected if statement.
+<li><b>Operation:</b>
+<ol>
+<li>Refactor &gt; Coding Style &gt; Convert Between If Statement and If Construct
+<li>Select whether or not you want an empty else block.
+<li>Click Preview to see what changes will be made, then click OK to apply them.
+</ol>
<li><b>Example:</b><br>
<center>
-<img src="../images/Photran-Standardize-Statements.png" alt="Example of the Standardize Statements refactoring"></img></center>
+<img src="../images/Convert Between If Statement and If Construct.png" alt="Example of the Convert Between If Statement and If Construct refactoring"></img></center>
</ul>
-</p><h1>Remove Unused Variables
-</h1><p><ul>
-<li><b>Description:</b> Remove Unused Variables removes declarations of local variables that are never used.
+</p><h2>Convert Data Statement to Parameter Statements
+</h2><p><ul>
+<li><b>Description:</b> When a variable declared in a DATA statement is intended to be a constant, Data to Parameter can be used to change it to a variable with the PARAMETER attribute. Using the PARAMETER attribute makes it more clear which variables are constants and which ones are not; it can also result in performance gains, since it may allow an optimizing compiler to replace some variable accesses with the constant value.
<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
<li><b>Operation:</b>
<ol>
<li> This is a multiple-file refactoring.
<ul>
-<li> <i>To Remove Unused Variables in a single file,</i>
+<li> <i>To transform variables declared as data in variables declared with parameter attribute in a single file,</i>
open the file in the editor and choose
-Refactor &gt; Remove Unused Variables
-from the menu bar.
-<li> <i>To Remove Unused Variables in multiple files,</i>
+Refactor &gt; Coding Style &gt; Convert Data Statement to Parameter Statements from the menu bar.
+<li> <i>To transform variables declared as data in variables declared with parameter attribute in multiple files,</i>
select the files in the Fortran Projects view,
right-click on any of the selected filenames,
and choose
-Refactor &gt; Remove Unused Variables
+Refactor &gt; Coding Style &gt; Convert Data Statement to Parameter Statements
from the popup menu.
</ul>
<li> Click Preview to see what changes will be made, then click OK to apply them.
</ol>
<li><b>Example:</b><br>
<center>
-<img src="../images/Photran-Remove-Unused-Variables.png" alt="Example of the Remove Unused Variables refactoring"></img></center>
+<img src="../images/Photran-Data-To-Parameter.png" alt="Example of the Data To Parameter refactoring"></img></center>
</ul>
-</p><h1>Data to Parameter
-</h1><p><ul>
-<li><b>Description:</b> When a variable declared in a DATA statement is intended to be a constant, Data to Parameter can be used to change it to a variable with the PARAMETER attribute. Using the PARAMETER attribute makes it more clear which variables are constants and which ones are not; it can also result in performance gains, since it may allow an optimizing compiler to replace some variable accesses with the constant value.
+</p><h2>Introduce Implicit None
+</h2><p><ul>
+<li><b>Description:</b> Adds IMPLICIT NONE statements to a file
+and adds explicit declarations for all variables that were previously declared implicitly.
<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
<li><b>Operation:</b>
<ol>
<li> This is a multiple-file refactoring.
<ul>
-<li> <i>To transform variables declared as data in variables declared with parameter attribute in a single file,</i>
+<li> <i>To Introduce Implicit None in a single file,</i>
open the file in the editor and choose
-Refactor &gt; Data To Parameter
+Refactor &gt; Coding Style &gt; Introduce Implicit None
from the menu bar.
-<li> <i>To transform variables declared as data in variables declared with parameter attribute in multiple files,</i>
+<li> <i>To Introduce Implicit None in multiple files,</i>
select the files in the Fortran Projects view,
right-click on any of the selected filenames,
and choose
-Refactor &gt; Data To Parameter
+Refactor &gt; Coding Style &gt; Introduce Implicit None
from the popup menu.
</ul>
<li> Click Preview to see what changes will be made, then click OK to apply them.
</ol>
<li><b>Example:</b><br>
<center>
-<img src="../images/Photran-Data-To-Parameter.png" alt="Example of the Data To Parameter refactoring"></img></center>
+<img src="../images/Photran-intro-implicit-1.png" alt="Example of the Introduce Implicit None refactoring"></img></center>
</ul>
-</p><h1>Extract Procedure
-</h1><p><ul>
-<li><b>Description:</b> Extract Procedure removes a sequence of statements from a procedure,
-places them into a new subroutine, and replaces the original statements with a call to that
-subroutine. Any local variables used by those statements will be passed as parameters to
-the new procedure. This refactoring is generally used to make long procedures shorter.
-<li><b>Applies To:</b> A sequence of one or more action statements inside a procedure or main program.
+</p><h2>Make Save Attributes Explicit
+</h2><p><ul>
+<li><b>Description:</b> Makes Save Attributes Explicit.
+<li><b>Applies To:</b> The entire program.
<li><b>Operation:</b>
<ol>
-<li> Select a sequence of one or more action statements in the editor. Be sure to include the
-newline following the last statement in the selection.
-<li> Click Refactor &gt; Extract Procedure... The Extract Procedure dialog will appear.<br>
-<center>
-<img src="../images/Photran-extract-proc-dialog.png" alt="Extract Procedure dialog"></img></center>
-<li> Enter a name for the new procedure that will be created.
-<li> Click Preview to see what changes will be made, then click OK to apply them.
+<li>Refactor &gt; Coding Style &gt; Make Save Attributes Explicit
+<li>Click Preview to see what changes will be made, then click OK to apply them.
</ol>
<li><b>Example:</b><br>
<center>
-<img src="../images/Photran-extract-proc-1.png" alt="Simple example of the Extract Procedure refactoring"></img></center>
+<img src="../images/Make Save Attributes Explicit.png" alt="Example of the Make Save Attributes Explicit refactoring"></img></center>
</ul>
-</p><h1>Extract Local Variable
-</h1><p><ul>
-<li><b>Description:</b> Extract Local Variable removes a subexpression from a larger expression
-and assigns that subexpression to a local variable, replacing the original subexpression
-with a reference to that variable. This refactoring is usually used to eliminate duplicated
-subexpressions or to introduce explanatory variable names into complex expressions.
-<li><b>Caveats:</b> The refactoring will only be allowed to proceed if extracting the
-subexpression will preserve the associativity and precedence of the original expression.
-This refactoring assumes that the extracted expression has no side effects; it does
-<b>not
-</b> check whether moving the computation of the extracted expression will change the
-behavior of the program.
+</p><h2>Remove Unreferenced Labels
+</h2><p><ul>
+<li><b>Description:</b> Removes any unreferenced labels.
+<li><b>Applies To:</b> All unreferenced labels.
<li><b>Operation:</b>
<ol>
-<li> Select an expression in the editor.
-<li> Click Refactor &gt; Extract Local Variable...
-The Extract Local Variable dialog will appear.
-<li> Enter the type and name for the new local variable that will be created.
-<li> Click Preview to see what changes will be made, then click OK to apply them.
+<li>Refactor &gt; Coding Style &gt; Remove Unreferenced Labels
+<li>Click Preview to see what changes will be made, then click OK to apply them.
</ol>
+<li><b>Example:</b><br>
+<center>
+<img src="../images/Remove Unreferenced Labels.png" alt="Example of the Remove Unreferenced Labels refactoring"></img></center>
</ul>
-</p><h1>Canonicalize Keyword Capitalization
-</h1><p><ul>
-<li><b>Description:</b> Makes all applicable keywords the same case throughout the selected Fortran
-program files.
-<li><b>Applies To:</b> All keywords except those listed below.
-<li><b>Does not apply to:</b>
+</p><h2>Remove Unused Local Variables
+</h2><p><ul>
+<li><b>Description:</b> Remove Unused Variables removes declarations of local variables that are never used.
+<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
+<li><b>Operation:</b>
<ol>
-<li> Identifiers
-<li> All constants except for integer constants and real constants
+<li> This is a multiple-file refactoring.
+<ul>
+<li> <i>To Remove Unused Variables in a single file,</i>
+open the file in the editor and choose
+Refactor &gt; Coding Style &gt; Remove Unused Local Variables
+from the menu bar.
+<li> <i>To Remove Unused Variables in multiple files,</i>
+select the files in the Fortran Projects view,
+right-click on any of the selected filenames,
+and choose
+Refactor &gt; Coding Style &gt; Remove Unused Local Variables
+from the popup menu.
+</ul>
+<li> Click Preview to see what changes will be made, then click OK to apply them.
</ol>
+<li><b>Example:</b><br>
+<center>
+<img src="../images/Photran-Remove-Unused-Variables.png" alt="Example of the Remove Unused Variables refactoring"></img></center>
+</ul>
+</p><h2>Standardize Statements
+</h2><p><ul>
+<li><b>Description:</b> Standardize Statements rewrites all variables declarations, so that
+<ul>
+<li>there is only one variable declaration per line, and
+<li>every variable declaration contains a double colon (::).
+</ul> This is intended to make the code more readable.
+<li><b>Applies To:</b> All main programs, subprograms, and modules in one or more files.
<li><b>Operation:</b>
<ol>
<li> This is a multiple-file refactoring.
<ul>
-<li> <i>To Canonicalize Keyword Capitalization in a single file,</i>
-open the file in the editor and choose Refactor &gt; Canonicalize
-Keyword Capitalization from the menu bar.
-<li> <i>To Introduce Implicit None in multiple files,</i> select the
-files in the Fortran Projects view, right-click on any of the selected filenames,
-and choose Refactor &gt; Canonicalize Keyword Capitalization from the popup menu.
+<li> <i>To Standardize Statements in a single file,</i>
+open the file in the editor and choose
+Refactor &gt; Coding Style &gt; Standardize Statements
+from the menu bar.
+<li> <i>To Standardize Statements in multiple files,</i>
+select the files in the Fortran Projects view,
+right-click on any of the selected filenames,
+and choose
+Refactor &gt; Coding Style &gt; Standardize Statements
+from the popup menu.
</ul>
-<li> Select Upper or Lower Case<br>
-<center>
-<img src="../images/Photran-canonicalize-keyword-cap-dialog.PNG" alt="Canonicalize keyword capitalization dialog."></img></center>
<li> Click Preview to see what changes will be made, then click OK to apply them.
</ol>
-<li><b>Example</b><br>
+<li><b>Example:</b><br>
<center>
-<img src="../images/Photran-canonicalize-keyword-cap-1.PNG" alt="Example of Canonicalize Keyword Capitalization refactoring."></img></center>
+<img src="../images/Photran-Standardize-Statements.png" alt="Example of the Standardize Statements refactoring"></img></center>
</ul>
-</p><h1> Make COMMON Variable Names Consistent
-</h1><ul><li><b>Description:
-</b> Fortran allows different definitions of a COMMON block to give the same variable different names. This is confusing. This refactoring gives the variables the same names in all definitions of the COMMON block.
-</li><li><b>Applies To:
-</b> All COMMON blocks with a valid name.
-</li><li><b>Does not apply to:
-</b> COMMON blocks with a NULL name.
-</li><li><b>Operation:
-</b><ol><li>Select the name of the COMMON block in the editor which you wish to make variable names consistent for.
-</li><li>Choose Refactor &gt; Make COMMON Variable Names Consistent form the menu bar.
-</li><li>Enter the new names which you wish to give the COMMON variables. The default new names are the original names in the selected block with &quot;_common&quot; appended.<br><center>
-<img src="../images/Photran-make-common-var-names-consist-dialog.PNG" alt="Make common var names consistent dialog"></img></center>
-</li><li>Click Preview to see what changes will be made, then click OK to apply them.
-</li></ol></li><li><b>Example
-</b><br> <center>
-<img src="../images/Photran-make-common-var-names-consist.PNG" alt="Example of Make COMMON variable names consistent refactoring."></img></center> <center>
-<img src="../images/Photran-make-common-var-names-consist-1.PNG" alt="Example of Make COMMON variable names consistent refactoring."></img></center>
-</li></ul><h1> Add ONLY Clause to USE Statement
-</h1><ul><li><b>Description:
-</b> Creates a list of the symbols that are being used from a module, and adds it to the USE statement.
-</li><li><b>Applies To:
-</b> All modules containing public definitions.
-</li><li><b>Does not apply to:
-</b> Empty modules or modules with only private entities.
-</li><li><b>Operation:
-</b><ol><li>Select the name of the module in the USE statement you wish to add an ONLY clause to.
-</li><li>Choose Refactor &gt; Add ONLY clause to USE statement.
-</li><li>Select which module entities you wish to include in the ONLY list. Any entities in an existing ONLY list will already be selected and can be deselected to be removed.<br><center>
-<img src="../images/Photran-add-only-dialog.PNG" alt="Add ONLY to USE dialog"></img></center>
-</li><li>Click Preview to see what changes will be made, then click OK to apply them.
-</li></ol></li><li><b>Example
-</b><br> <center>
-<img src="../images/Photran-add-only-list.PNG" alt="Example of Add ONLY clause to USE statement refactoring."></img></center>
-</li></ul><h1> Minimize ONLY List
-</h1><ul><li><b>Description:
-</b> Deletes symbols that are not being used from the ONLY list in a USE statement.
-</li><li><b>Applies To:
-</b> USE statements with an ONLY clause.
-</li><li><b>Operation:
-</b><ol><li>Select the name of the module in the USE statement you wish to minimize the ONLY list for.
-</li><li>Choose Refactor &gt; Minimized ONLY list for Selected module.
-</li><li>Click Preview to see what changes will be made, then click OK to apply them.
-</li></ol></li><li><b>Example
-</b><br> <center>
-<img src="../images/Photran-min-only-list.PNG" alt="Example of Minimize ONLY list refactoring."></img></center>
-</li></ul><h1> Make Private Entity Public
-</h1><ul><li><b>Description:
-</b> Changes a module variable or subprogram from PRIVATE to PUBLIC visibility, and checks that it won't conflict with any existing name where that module is USEd.
-</li><li><b>Applies To:
-</b> Variables, subroutines, functions.
-</li><li><b>Does Not Apply To:
-</b> Intrinsics, Externals, Interfaces.
-</li><li><b>Operation:
-</b><ol><li>Select the name of the private entity you wish to make public.
-</li><li>Choose Refactor &gt; Make Private Entity Public.
-</li><li>Click Preview to see what changes will be made, then click OK to apply them.
-</li></ol></li><li><b>Example
-</b><br> <center>
-<img src="../images/Photran-priv-to-public.PNG" alt="Example of make private entity public refactoring."></img></center>
-</li></ul><p><br> <center>
-<img src="../images/Photran-priv-to-public2.PNG" alt="Example 2 of make private entity public refactoring."></img></center>
</p></div>
</body>
</html>
diff --git a/org.eclipse.photran.doc.user/html/advanced/top.html b/org.eclipse.photran.doc.user/html/advanced/top.html
index 72fe8fc0..8506c734 100644
--- a/org.eclipse.photran.doc.user/html/advanced/top.html
+++ b/org.eclipse.photran.doc.user/html/advanced/top.html
@@ -5,13 +5,7 @@
<link rel="stylesheet" type="text/css" href="../help.css"/>
</head>
<body>
-<div><p>You are here:
-<a href="PTP">PTP</a> &gt;
-<a href="">Photran</a> &gt;
-<a href="documentation">Documentation</a> &gt;
-<a href="photran6advanced">Photran 6.0 Advanced Features</a><br>
-<br>
-<big><big><big><big>Photran 6.0 Advanced Features</big></big></big></big>
+<div><p><big><big><big><big>Photran 7.0 Advanced Features</big></big></big></big>
<br><br>
</p></div>
</body>
diff --git a/org.eclipse.photran.doc.user/html/basic/AdvancedFeatures.html b/org.eclipse.photran.doc.user/html/basic/AdvancedFeatures.html
deleted file mode 100644
index fc5d4c3c..00000000
--- a/org.eclipse.photran.doc.user/html/basic/AdvancedFeatures.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
- <title>Advanced Features</title>
- <link rel="stylesheet" type="text/css" href="../help.css"/>
- </head>
-<body>
-<div><p>Photran 6.0 includes a number of sophisticated features that are designed to make it easier to write, modify, search, and maintain Fortran code. These include content assist, which can &quot;auto-complete&quot; variable and function names as you type; a declaration view, which can show the leading comments for the selected variable or procedure; Fortran Search, which allows you to find declarations and references to modules, variables, procedures, etc.; and refactorings, which change your source code to improve its design while preserving its behavior.
-<br>
-Documentation for Photran's advanced features is available
-<a href="photran6advanced">here</a>.
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/CompilingFortran.html b/org.eclipse.photran.doc.user/html/basic/CompilingFortran.html
index fd14f6b1..7686f83b 100644
--- a/org.eclipse.photran.doc.user/html/basic/CompilingFortran.html
+++ b/org.eclipse.photran.doc.user/html/basic/CompilingFortran.html
@@ -18,13 +18,13 @@
</b> click on Help &gt; Help Contents in Eclipse, and navigate to
<b>C/C++ Development User Guide &gt; Concepts &gt; Build &gt; Building C/C++ Projects.
</b>
-<a href="http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/concepts/cdt_c_build_over.htm?resultof=%22%63%6f%6d%70%69%6c%69%6e%67%22%20%22%63%6f%6d%70%69%6c%22%20%22%63%2f%43%2b%2b%22%20">http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/concepts/cdt_c_build_over.htm?resultof=%22%63%6f%6d%70%69%6c%69%6e%67%22%20%22%63%6f%6d%70%69%6c%22%20%22%63%2f%43%2b%2b%22%20</a></p><h1> Setting Make Targets
+</p><h1> Setting Make Targets
</h1><p>Setting make targets for Fortran programs is also identical to setting make targets for C/C++ programs.
<b>For more information on make targets,
</b> click on Help &gt; Help Contents in Eclipse, and navigate to
<b>C/C++ Development User Guide &gt; Tasks &gt; Building projects &gt; Creating a make target.
</b>
-<a href="http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/tasks/cdt_t_addmaketarget.htm?resultof=%22%6d%61%6b%65%22%20%22%74%61%72%67%65%74%73%22%20%22%74%61%72%67%65%74%22%20">http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/tasks/cdt_t_addmaketarget.htm?resultof=%22%6d%61%6b%65%22%20%22%74%61%72%67%65%74%73%22%20%22%74%61%72%67%65%74%22%20</a></p><h1> Marking Error Messages from Your Fortran Compiler (Error Parsers)
+</p><h1> Marking Error Messages from Your Fortran Compiler (Error Parsers)
</h1><p>When you build (compile) your Fortran program, the output from your Fortran compiler (including any error messages) will be displayed in the Console view. However, for many compilers, Photran can &quot;recognize&quot; error messages, placing the problem description in the Problems view and marking the corresponding line in the source file with a red X icon.
To do this, you must have the correct
<i>error parsers
diff --git a/org.eclipse.photran.doc.user/html/basic/GettingStarted.html b/org.eclipse.photran.doc.user/html/basic/GettingStarted.html
index ed7495e5..6ff70dc8 100644
--- a/org.eclipse.photran.doc.user/html/basic/GettingStarted.html
+++ b/org.eclipse.photran.doc.user/html/basic/GettingStarted.html
@@ -6,9 +6,9 @@
</head>
<body>
<div><p>Photran is an integrated development environment and refactoring tool for Fortran 77, 90, 95, and 2003.
-It includes an editor with &quot;smart&quot; syntax highlighting, a GUI debugger, CVS support, Makefile-based compilation, error message recognition for many common Fortran compilers, Fortran language-based search and code navigation, content assist, a Fortran declaration view, and many refactorings, including popular refactorings such as Rename and Extract Procedure as well as Fortran-specific refactorings like Introduce Implicit None.
+</p><p>It includes an editor with &quot;smart&quot; syntax highlighting, a GUI debugger, CVS support, Makefile-based compilation, error message recognition for many common Fortran compilers, Fortran language-based search and code navigation, content assist, a Fortran declaration view, and many refactorings, including popular refactorings such as Rename and Extract Procedure as well as Fortran-specific refactorings like Introduce Implicit None.
Photran is based on Eclipse, and some of its components are reused from the Eclipse C/C++ Development Tools (CDT). Throughout this documentation, you will see references to relevant parts of the Eclipse and CDT documentation, which can be accessed by clicking on the Help menu (inside Photran/Eclipse) and clicking Help Contents.
-<b>If you have never used Eclipse before,
+</p><p><b>If you have never used Eclipse before,
</b> please work through the Eclipse Workbench tutorial before attempting to use Photran. Click on Help &gt; Help Contents in Eclipse, and navigate to
<b>Workbench User Guide &gt; Getting started &gt; Basic tutorial.
</b> This will introduce you to Eclipse concepts such as
diff --git a/org.eclipse.photran.doc.user/html/basic/InstallingPhotran.html b/org.eclipse.photran.doc.user/html/basic/InstallingPhotran.html
deleted file mode 100644
index 2737a0a0..00000000
--- a/org.eclipse.photran.doc.user/html/basic/InstallingPhotran.html
+++ /dev/null
@@ -1,153 +0,0 @@
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1"/>
- <title>Installing Photran</title>
- <link rel="stylesheet" type="text/css" href="../help.css"/>
- </head>
-<body>
-<div><h1> System Requirements
-</h1><p>To install Photran 6.0...
-You must have
-<b>Eclipse 3.6 (Helios)
-</b> installed.
-</p><ol><li>You should have the
-<b>C/C++ Development Tools (CDT) 7.0
-</b> installed. If you do not...
-<ol><li>If you downloaded Eclipse from eclipse.org
-<b>and
-</b> you will be following the instructions below for &quot;Installing on a Machine With Internet Access,&quot; then CDT should be installed automatically when you install Photran.
-</li><li>Otherwise, CDT probably
-<i>will not
-</i> be installed automatically. You will need to install CDT manually. Follow the instructions below for &quot;Installing on a Machine Without Internet Access.&quot; You should also follow these instructions if you did not download Eclipse from eclipse.org (e.g., if you installed it from a Linux distribution like Ubuntu).
-</li></ol></li><li>Eclipse must be running on a
-<b>Java 1.5 or later Java Virtual Machine (JVM).
-</b> To get reasonable performance, we recommend Sun's JVM
-<a href="http://java.com/en/download/manual.jsp">http://java.com/en/download/manual.jsp</a> or IBM's J9
-<a href="http://wiki.eclipse.org/index.php/J9">http://wiki.eclipse.org/index.php/J9</a>. OpenJDK (the default JVM on newer versions Fedora Linux) also works well, although GNU Classpath (the default JVM on older versions of Fedora) is generally too slow to be useful.
-</li><li>If you want to compile and build Fortran applications, you must have a
-<b>make
-</b>program (such as GNU Make) and a
-<b>Fortran compiler
-</b> (such as gfortran, the GNU Fortran compiler) in your system path. Many Linux/Unix systems include these; details on installing them in Windows and Mac are below.
-</li></ol><h1> Installation Procedure
-</h1><h2>Installing on a Machine With Internet Access
-</h2><p>To install Photran, start Eclipse, then...<br>
-</p><ol><li>Click on Help &gt; Install New Software...
-</li><li>Click on the &quot;Add...&quot; button
-</li><li>In the Location field, type
-<b>http://download.eclipse.org/tools/ptp/releases/helios
-</b></li><li>Click OK to close the Add Site dialog. This will return you to the Install dialog.
-</li><li>Expand &quot;Fortran Development Tools (Photran)&quot; and check the box next to &quot;Photran End-User Runtime&quot;
-</li><li>If you are running Linux and have the Intel Fortran Compiler installed, or if you are on a Macintosh and have the IBM XL Fortran compiler installed, expand &quot;Fortran Compiler Support&quot; and select the appropriate compiler.
-<i>Note that you
-<b>cannot
-</b> install Intel Fortran compiler support unless you are running Linux!
-</i></li><li>Click on the &quot;Next&quot; button
-</li><li>If you get an error message, see below for troubleshooting information.
-</li><li>Click the Finish button and agree to the license to complete the installation.
-</li></ol><p><br>
-</p><h2>Installing on a Machine Without Internet Access
-</h2><p>You will the following files:
-</p><ol><li>If you do not have CDT installed, you will need to download the latest 7.0.x &quot;CDT master update archive&quot; from
-<a href="http://download.eclipse.org/tools/cdt/releases/helios/">http://download.eclipse.org/tools/cdt/releases/helios/
-</a>). This should be a file named
-<b>cdt-master-7.0.x.zip
-</b> (for some value of
-<i>x
-</i>)
-</li><li>To install Photran, you will need the latest PTP update site archive from
-<a href="http://wiki.eclipse.org/PTP/builds/4.0.0">http://wiki.eclipse.org/PTP/builds/4.0.0
-</a>). This should be a file named
-<b>ptp-master-4.0.0-I2010xxxxxxxx.zip
-</b></li></ol><p>If you do not have CDT installed, start Eclipse, then...<br>
-</p><ol><li>Click on Help &gt; Install New Software...
-</li><li>Click on the &quot;Add...&quot; button
-</li><li>Click on the &quot;Archive...&quot; button
-</li><li>Point it to the file
-<i>cdt-master-7.0.x.zip
-</i></li><li>Click OK to close the Add Site dialog. This will return you to the Install dialog.
-</li><li>Expand &quot;CDT Main Features&quot; and check the box next to &quot;Eclipse C/C++ Development Tools&quot;
-</li><li>Click on the &quot;Next&quot; button
-</li><li>Click the Finish button and agree to the license to complete the installation.
-</li><li>After CDT is installed, you will be asked to restart Eclipse. You may then proceed to install Photran.
-</li></ol><p>To install Photran, start Eclipse, then...<br>
-</p><ol><li>Click on Help &gt; Install New Software...
-</li><li>Click on the &quot;Add...&quot; button
-</li><li>Click on the &quot;Archive...&quot; button
-</li><li>Point it to the file
-<i>ptp-master-4.0.0-I2010xxxxxxxx.zip
-</i></li><li>Click OK to close the Add Site dialog. This will return you to the Install dialog.
-</li><li>Expand &quot;Fortran Development Tools (Photran)&quot; and check the boxes next to &quot;Photran End-User Runtime&quot;
-<b>and
-</b> &quot;Rephraser Engine End-User Runtime&quot; (the latter is a supporting component)
-</li><li>If you are running Linux and have the Intel Fortran Compiler installed, or if you are on a Macintosh and have the IBM XL Fortran compiler installed, expand &quot;Fortran Compiler Support&quot; and select the appropriate compiler.
-<i>Note that you
-<b>cannot
-</b> install Intel Fortran compiler support unless you are running Linux!
-</i></li><li>Click on the &quot;Next&quot; button
-</li><li>If you get an error message, see below for troubleshooting information.
-</li><li>Click the Finish button and agree to the license to complete the installation.
-</li></ol><p><br>
-</p><h2>Troubleshooting
-</h2><blockquote>Eclipse's installer gives notoriously cryptic error messages, which, unfortunately, are out of Photran's control. Some of the more common ones are below. If you run into a different error message and cannot resolve it, please ask for help on the
-<a href="http://www.eclipse.org/photran/mailinglists.php">Photran mailing list
-</a>.
-</blockquote><p><br>
-</p><blockquote><b>Problem:
-</b> You receive the following error message during installation.
-</blockquote><blockquote><blockquote>Cannot complete the install because one or more required items could not be found.
-</blockquote></blockquote><blockquote><blockquote>Missing requirement: 125xxxxxxxxxx 0.0.0.125xxxxxxxxxx requires 'org.eclipse.photran.intel.feature.group
-<a href="5.0.0.xxxx">5.0.0.xxxx</a>' but it could not be found
-</blockquote></blockquote><blockquote><b>Solution:
-</b> You are attempting to install support for the Intel Fortran compiler, but you are not running Linux. Go back in the installation wizard, and
-<i>uncheck
-</i> &quot;Linux Intel(R) Fortran Compiler Support.&quot;
-</blockquote><p><br>
-</p><blockquote><b>Problem:
-</b> You receive the following error message during installation.
-</blockquote><blockquote><blockquote>Cannot complete the install because one or more required items could not be found.
-</blockquote></blockquote><blockquote><blockquote> Software being installed: Photran End-User Runtime 6.0.x.xxxxxxxxxxxx (org.eclipse.photran.feature.group 6.0.x.xxxxxxxxxxxx)
-</blockquote></blockquote><blockquote><blockquote> Missing requirement: Photran VPG CDT Interface Plug-in 6.0.x.xxxxxxxxxxxx (org.eclipse.photran.cdtinterface.vpg 6.0.x.xxxxxxxxxxxx) requires 'bundle org.eclipse.cdt.core 0.0.0' but it could not be found
-</blockquote></blockquote><blockquote><blockquote> Cannot satisfy dependency:
-</blockquote></blockquote><blockquote><blockquote> From: Photran End-User Runtime 6.0.x.xxxxxxxxxxxx (org.eclipse.photran.feature.group 6.0.x.xxxxxxxxxxxx)
-</blockquote></blockquote><blockquote><blockquote> To: org.eclipse.photran.cdtinterface.vpg
-<a href="6.0.x.xxxxxxxxxxxx">6.0.x.xxxxxxxxxxxx</a></blockquote></blockquote><blockquote><b>Solution:
-</b> You do not have CDT 7.0 installed, and it couldn't be downloaded and installed automatically. Try installing CDT 7.0 first, then retry installing Photran.
-</blockquote><h1> Additional Instructions for Windows Users
-</h1><p>To compile and run Fortran programs in Photran, you will need to have a Fortran compiler and make utility installed.
-<a href="http://gcc.gnu.org/fortran/">gfortran
-</a> and
-<a href="http://www.gnu.org/make">GNU Make
-</a> are commonly used (and free). Most Linux/Unix distributions include these. Under Windows, you will need to install Cygwin
-<a href="http://www.cygwin.com/">http://www.cygwin.com/</a> (which optionally includes gfortran and GNU Make) or MinGW
-<a href="http://www.mingw.org/">http://www.mingw.org/</a> and put them on your Windows PATH.
-</p><h2>Instructions for Cygwin
-</h2><ol><li>Install
-<a href="http://www.cygwin.com/">Cygwin
-</a>; the defaults are mostly OK, but you will need to explicitly tell it to include the &quot;Devel&quot; packages (at least gcc4-fortran, gdb, and make) when the installer asks you to select what packages to install. (If gcc4-fortran is not listed under the &quot;Devel&quot; packages, you may have chosen a bad mirror; restart the Cygwin installation, and choose a different mirror instead. Georgia Tech's mirror at gtlib.gatech.edu is generally quite fast and reliable, for example.)
-</li><li>Add the Cygwin directories to your Windows PATH. Under Windows XP, the process is as follows:
-<ol><li>Make sure you are logged in under an administrator account.
-</li><li>Open the Control Panel.
-</li><li>Double-click the System icon.
-</li><li>Switch to the Advanced tab.
-</li><li>Click the Environment Variables button.
-</li><li>Under System Variables, find the variable &quot;Path&quot; in the list, and click on it.
-</li><li>Click Edit.
-</li><li>At the end of the &quot;Variable Value&quot; text, add <pre>;C:\Cygwin\bin;C:\Cygwin\usr\bin;C:\Cygwin\usr\local\bin;C:\Cygwin\lib;C:\Cygwin\usr\lib</pre>
-</li><li>Click OK, click OK, click OK, and close the Control Panel.
-</li><li>Close and re-open Photran. Windows should now search C:\Cygwin\bin, C:\Cygwin\usr\bin, etc. when it's looking for executables (including make.exe, gcc.exe, and gfortran.exe).
-</li></ol></li></ol><h1> Additional Instructions for Mac OS X Users
-</h1><p>If you install gfortran on Mac OS X, it may be installed in /usr/local/bin, which is not (by default) on the PATH. If you are launching Eclipse from a Terminal, the PATH can be set by modifying /etc/paths. However, if you are launching Eclipse from the Finder (by double clicking on it) or the Dock, then the PATH is not obtained from the shell or /etc/paths. Instead, it's obtained from ~/.MacOSX/environment.plist. The format of the environment.plist file is as follows (change the path appropriately).
-<i>If you create or edit this file, you will need to log out (or reboot) before the changes will take effect.
-</i><pre>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
-&lt;!DOCTYPE plist PUBLIC &quot;-//Apple Computer//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
-&lt;plist version=&quot;1.0&quot;&gt;
-&lt;dict&gt;
-&lt;key&gt;PATH&lt;/key&gt;
-&lt;string&gt;/usr/local/mpi/bin:/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:/sbin:/usr/sbin:/Developer/Tools:/usr/texbin:/Users/greg/bin&lt;/string&gt;
-&lt;/dict&gt;
-&lt;/plist&gt;
-</pre>
-</p></div>
-</body>
-</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/RunningDebuggingFortran.html b/org.eclipse.photran.doc.user/html/basic/RunningDebuggingFortran.html
index ea47f909..08cb6096 100644
--- a/org.eclipse.photran.doc.user/html/basic/RunningDebuggingFortran.html
+++ b/org.eclipse.photran.doc.user/html/basic/RunningDebuggingFortran.html
@@ -6,21 +6,21 @@
</head>
<body>
<div><p>To run a Fortran application, right-click the project in the Fortran Projects view, and click Run As &gt; Local Fortran Application. This will build and run the Fortran application, and output will be printed to the console. (Remember, if you are using a custom makefile, the makefile will need to be written correctly for the project to be built.)
-If you want to manage the run configuration (for example, if you want to pass command line arguments to your Fortran application or set certain environment variables), right-click on the project in the Fortran Projects view, click Run As &gt; Run Configurations... Create a new launch configuration under Fortran Local Application (or edit an existing one) and modify the settings as needed.
-Debugging programs works similarly, except you can choose Debug As &gt; Local Fortran Application or Debug Configurations from the context menu.
-Running and debugging Fortran applications is similar to running and debugging C/C++ applications.
+</p><p>If you want to manage the run configuration (for example, if you want to pass command line arguments to your Fortran application or set certain environment variables), right-click on the project in the Fortran Projects view, click Run As &gt; Run Configurations... Create a new launch configuration under Fortran Local Application (or edit an existing one) and modify the settings as needed.
+</p><p>Debugging programs works similarly, except you can choose Debug As &gt; Local Fortran Application or Debug Configurations from the context menu.
+</p><p>Running and debugging Fortran applications is similar to running and debugging C/C++ applications.
<b>For more information on running and debugging binary applications,
</b> click on Help &gt; Help Contents in Eclipse, and navigate to
<b>C/C++ Development User Guide &gt; Tasks &gt; Running and debugging projects.
</b>
-<a href="http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/tasks/cdt_o_run.htm?resultof=%22%72%75%6e%6e%69%6e%67%22%20%22%72%75%6e%22%20">http://help.eclipse.org/ganymede/topic/org.eclipse.cdt.doc.user/tasks/cdt_o_run.htm?resultof=%22%72%75%6e%6e%69%6e%67%22%20%22%72%75%6e%22%20</a></p><h1> Setting Breakpoints
+</p><h1> Setting Breakpoints
</h1><p>There are two ways to set breakpoints in the editor.
-The easiest way to set a breakpoint in the editor is to double click in the left margin (gray vertical bar) on the line at which you wish to set the breakpoint. A blue dot will appear in the margin on the line where the breakpoint is set. Double clicking again at the same location will remove the breakpoint.
-You can also set a breakpoint by right-clicking in the left margin on the line where you wish to set the breakpoint and clicking &quot;Toggle Breakpoint.&quot; The blue dot indicating the breakpoint will appear or disappear (if already set) in the left margin of the editor.
+</p><p>The easiest way to set a breakpoint in the editor is to double click in the left margin (gray vertical bar) on the line at which you wish to set the breakpoint. A blue dot will appear in the margin on the line where the breakpoint is set. Double clicking again at the same location will remove the breakpoint.
+</p><p>You can also set a breakpoint by right-clicking in the left margin on the line where you wish to set the breakpoint and clicking &quot;Toggle Breakpoint.&quot; The blue dot indicating the breakpoint will appear or disappear (if already set) in the left margin of the editor.
<center>
<img src="../images/Photran-set-breakpoint.png" alt="Setting Breakpoints"></img></center>
-When you switch to the Debug perspective, the breakpoints you set will be listed in the Breakpoints view.
-<b>For more information on debugging,
+</p><p>When you switch to the Debug perspective, the breakpoints you set will be listed in the Breakpoints view.
+</p><p><b>For more information on debugging,
</b> click on Help &gt; Help Contents in Eclipse, and navigate to
<b>C/C++ Development User Guide &gt; Tasks &gt; Running and debugging projects &gt; Debugging.
</b></p><h1> Known Run/Debug Issues
diff --git a/org.eclipse.photran.doc.user/html/basic/StartingNewProject.html b/org.eclipse.photran.doc.user/html/basic/StartingNewProject.html
index b8a5ea52..1f247826 100644
--- a/org.eclipse.photran.doc.user/html/basic/StartingNewProject.html
+++ b/org.eclipse.photran.doc.user/html/basic/StartingNewProject.html
@@ -37,7 +37,7 @@
</li><li>Type the standard &quot;Hello, World&quot; program shown below, and click File &gt; Save.
</li><li>Open the Console view, and make sure &quot;make&quot; ran OK and compiled your program
</li><li>In the Fortran Projects view, expand the Binaries entry, and click on your executable (e.g., &quot;HelloFortran.exe -
-<a href="x86le">x86le</a>&quot;)
+x86le&quot;)
</li><li>Run | Run As | Run Local Fortran Application
</li><li>Choose GDB Debugger (Cygwin GDB Debugger if you're under Windows)
</li><li>Check the Console view, and make sure &quot;Hello World&quot; appeared.
@@ -47,8 +47,8 @@
print *, &quot;Hello World&quot;
end program</pre>
</p><h1> Starting a Project with a Hand-Written Makefile
-</h1><p>The following is a typical procedure for starting a new project using a hand-written Makefile. The following example uses the GNU Fortran (gfortran) compiler, but any Fortran compiler can be used instead. We will assume that you are familiar with how to write a Makefile. If not, there are plenty of resources on the Web, including a tutorial from an introductory Computer Science course at UIUC
-<a href="http://www-courses.cs.uiuc.edu/%7Ecs225/cs225/_resources/_tutorials/makeTut.pdf">http://www-courses.cs.uiuc.edu/%7Ecs225/cs225/_resources/_tutorials/makeTut.pdf</a> and another from the University of Hawaii
+</h1><p>The following is a typical procedure for starting a new project using a hand-written Makefile. The following example uses the GNU Fortran (gfortran) compiler, but any Fortran compiler can be used instead. We will assume that you are familiar with how to write a Makefile. If not, there are plenty of resources on the Web, including a tutorial from
+the University of Hawaii
<a href="http://www.eng.hawaii.edu/Tutor/Make/">http://www.eng.hawaii.edu/Tutor/Make/</a>... and, of course, you can always read the entire manual for GNU Make
<a href="http://www.gnu.org/software/make/manual/make.html">http://www.gnu.org/software/make/manual/make.html</a>.
</p><ol><li>Click File &gt; New &gt; Fortran Project
@@ -74,7 +74,7 @@ end program</pre>
</li><li>Click Project &gt; Clean, then click OK
</li><li>Open the Console view, and make sure &quot;make&quot; ran OK and compiled your program
</li><li>In the Fortran Projects view, expand the Binaries entry, and click on your executable (e.g., &quot;hello.exe -
-<a href="x86le">x86le</a>&quot;)
+x86le&quot;)
</li><li>Click Run &gt; Run As &gt; Local Fortran Application
</li><li>Choose GDB Debugger (Cygwin GDB Debugger if you're under Windows)
</li><li>Check the Console view, and make sure &quot;Hello World&quot; appeared.
@@ -88,9 +88,10 @@ end program</pre>
</i>
<b>(You MUST replace the spaces beginning the gfortran and rm lines with a tab character!)
</b><pre>all:
-gfortran -o hello.exe -g hello.f90
+&nbsp;&nbsp;&nbsp;&nbsp;gfortran -o hello.exe -g hello.f90
+
clean:
-rm -f hello.exe
+&nbsp;&nbsp;&nbsp;&nbsp;rm -f hello.exe
</pre>
</p><h1> Converting C/C++ Projects to Fortran Projects
</h1><p>Every Fortran project is also a C project, so CDT's functionality will work as expected on Fortran projects.&nbsp; However, a C/C++ is
diff --git a/org.eclipse.photran.doc.user/html/basic/UpgradingProjects.html b/org.eclipse.photran.doc.user/html/basic/UpgradingProjects.html
index d737707e..16d2eb15 100644
--- a/org.eclipse.photran.doc.user/html/basic/UpgradingProjects.html
+++ b/org.eclipse.photran.doc.user/html/basic/UpgradingProjects.html
@@ -5,15 +5,17 @@
<link rel="stylesheet" type="text/css" href="../help.css"/>
</head>
<body>
-<div><p>There are three major changes in Photran 6 that affect users of previous versions of Photran:
+<div><p>There were three major changes in Photran 6 that affect users of previous versions of Photran:
</p><ol><li><b>Projects must be converted to Fortran projects.
</b>&nbsp; In the past, Photran would treat C projects and Fortran projects similarly.&nbsp; In fact, in Photran 4 and earlier versions, Photran's new project wizard actually created C projects!&nbsp; But in Photran 6, many of Photran's features will only be available after a project is converted to a Fortran project.&nbsp; (Every Fortran project is a C project too, so CDT's features will still work on the project.)&nbsp;
-<a href="photran6#Converting_C%2FC%2B%2B_Projects_to_Fortran_Projects">Learn how to convert projects</a>.<br>
+<b><a href="http://wiki.eclipse.org/PTP/photran/documentation/photran7#Converting_C.2FC.2B.2B_Projects_to_Fortran_Projects">Learn how to convert projects
+</a></b>.
</li><li><b>Project properties must be reset.
</b>&nbsp; Photran 6 uses a new mechanism for storing project properties.&nbsp; Unfortunately, this means that the project properties for old projects must be re-created.&nbsp; This includes enabling analysis/refactoring and setting include paths and module paths.<br>
</li><li><b>Source form settings must be set for the project.
</b>&nbsp; Previous versions of Photran used Eclipse's workspace-wide settings to distinguish free and fixed form files.&nbsp; In Photran 6, each project has its own settings that determine which filename extensions correspond to free and fixed source form (and which files contain C preprocessor directives).&nbsp;
-<a href="photran6#Configuring_Source_Forms_and_Filename_Extensions"><u>Learn about source form settings</u></a>.
+<b><a href="http://wiki.eclipse.org/PTP/photran/documentation/photran7#Configuring_Source_Forms_and_Filename_Extensions">Learn about source form settings
+</a></b>.
</li></ol><p><br>
</p></div>
</body>
diff --git a/org.eclipse.photran.doc.user/html/basic/WritingCode.html b/org.eclipse.photran.doc.user/html/basic/WritingCode.html
index f3779691..9360ee1e 100644
--- a/org.eclipse.photran.doc.user/html/basic/WritingCode.html
+++ b/org.eclipse.photran.doc.user/html/basic/WritingCode.html
@@ -19,7 +19,7 @@
</td><td> Fixed source form
</td></tr><tr><td> .f08, .f03, .f95, .f90
</td><td> Free source form with INCLUDE lines<br>
-</td><td> .F08, .F03, .F95, .F90
+</td></tr><tr><td> .F08, .F03, .F95, .F90
</td><td> Free source form with C preprocessor directives
</td></tr></table></p><h2> Configuring Source Form/Filename Extension Associations
</h2><p>The filename extensions listed above are the defaults for new Fortran projects.&nbsp; To change them:
@@ -75,7 +75,7 @@ By default, the Fortran perspective contains a central area for editing code, as
</li><li>The
<b>Fortran Declaration
</b> view is described in the
-<a href="photran6advanced">Photran Advanced Features manual</img>.
+<a href="http://wiki.eclipse.org/PTP/photran/documentation/photran7advanced">Photran Advanced Features manual</a>.
</li><li>The
<b>Outline
</b> view shows the high-level structure of your program, i.e., the subprograms, modules, derived types, etc. comprising it.
@@ -96,7 +96,7 @@ By default, the Fortran perspective contains a central area for editing code, as
</li><li>Browse the high-level structures in Fortran files
</li><li>Open projects in a new window
</li><li>Perform some multi-file refactorings (such as Introduce Implicit None; see the
-<a href="photran6advanced">Photran Advanced Features Manual</a>)
+<a href="http://wiki.eclipse.org/PTP/photran/documentation/photran7advanced">Photran Advanced Features Manual</a>)
</li></ul><p>Files can be opened by double-clicking on the filename or by right-clicking on the file and choosing &quot;Open With&quot; from the context menu. Most other actions are performed by right-clicking on the file and choosing an action from the context menu.
The Fortran projects view is similar to the C/C++ Projects View.
<b>For more information on the Fortran Projects view,
@@ -125,7 +125,7 @@ The
The editors also support
<b>syntax highlighting.
</b> As you write programs in Fortran, you will notice that different colors are applied to comments, identifiers, intrinsics, keywords, and strings to make code more readable. It is possible to change the colors for each of the previously mentioned code components in the Fortran editor preferences (this is discussed in the section &quot;Configuring the Editor,&quot; below). Often, the editor can even distinguish between, for example, the keyword &quot;if&quot; and a variable named &quot;if.&quot; However, it is not perfect; it uses a faster, but less reliable, heuristic than the actual Fortran parser that drives the Outline view and all of the
-<a href="photran6advanced">Advanced Features</a>.
+<a href="http://wiki.eclipse.org/PTP/photran/documentation/photran7advanced">Advanced Features</a>.
</p><h2> Comment/uncomment
</h2><p>Photran can comment or uncomment a block of Fortran statements, placing an exclamation point (!) before the statements or removing it, respectively. Select the statements in the Fortran editor. Then right-click the selection, and choose Comment/Uncomment from the context menu.
<center>
@@ -136,7 +136,9 @@ Bookmarks can then be viewed in the Bookmarks view (Window &gt; Show View &gt; O
</p><h2> Go to line (Ctrl+L)
</h2><p>The &quot;Go To Line...&quot; feature allows you to jump to a specific line number in a file when it is open in a Fortran editor. In the menu bar, go to Navigate &gt; Go To Line... (or press the hotkey, Ctrl+L on Windows/Linux or Command+L on Mac) to open the Go To Line dialog box. Typing in the line you wish to navigate to, and clickg OK. The cursor will be moved to the beginning of the specified line.
</p><h2> Configuring The Editor
-</h2><h3> Selecting horizontal ruler vs. folding
+</h2><p><center>
+<img src="../images/TheEditor.png"></center>
+</p><h3> Selecting horizontal ruler vs. folding
</h3><p>Fortran editors can either display the horizontal ruler, or they can have code folding enabled, but not both. To determine which will be enabled, go to Window &gt; Preferences in the menu bar. Expand Fortran and select Editor. Check the appropriate box(es) to enable folding in the free-form and/or fixed-form Fortran editor.
</p><h3> Setting colors for syntax highlighting
</h3><p>The colors for Fortran syntax highlighting can be modified in the Fortran editor preferences. To modify the color settings, go to Window &gt; Preferences in the menu bar. Expand Fortran and select Editor. The color choosers for Comments, Identifiers, Intrinsics, Keywords, and Strings are available on this page.
@@ -153,9 +155,17 @@ Note that this will only apply to
</blockquote><h3> Show whitespace
</h3><p>Whitespace characters can be displayed by going to Window &gt; Preferences. Under General &gt; Editors &gt; Text Editors, check the box next to &quot;Show whitespace characters&quot; and click Apply. Spaces, tabs, and newlines will now be shown as light gray double-angle quotes (&raquo;), dots (&middot;), and paragraph symbols (&para;), respectively.
</p><h3> Set Font
-</h3><p>Photran uses the same font as the basic Eclipse text editor. To change it, click on Window &gt; Preferences in the menu bar. Under General, expand Appearance, and select Colors and Fonts. In the list on the right, select Text Font. Click the &quot;Change...&quot; button to change the font.
+</h3><p>Photran uses the same font as the basic Eclipse text editor. To change it, click on Window &gt; Preferences in the menu bar. Under General, expand Appearance, and select Colors and Fonts. Search for the font you want.
+<center>
+<img src="../images/fonts.png"></center>
</p><h3> Show line numbers
</h3><p>Line numbers can be displayed in the editor in the Text Editor preferences page. Go to Window &gt; Preferences. Under General &gt; Editors &gt; Text Editors, check the box &quot;Show line numbers&quot; and click Apply.
+<center>
+<img src="../images/Text_Editors.png"></center>
+</p><h3> Code Templates
+</h3><p>Code templates are used to make coding faster and easier. After typing the first letter of whatever you are typing, press Ctrl+Space and a list of choices will appear. Go to Windows &gt; Preferences &gt; Fortran &gt; Templates to manage which templates you want available.
+<center>
+<img src="../images/Code_Templates.png"></center>
</p></div>
</body>
</html>
diff --git a/org.eclipse.photran.doc.user/html/basic/top.html b/org.eclipse.photran.doc.user/html/basic/top.html
index 957698c2..e5c78a6a 100644
--- a/org.eclipse.photran.doc.user/html/basic/top.html
+++ b/org.eclipse.photran.doc.user/html/basic/top.html
@@ -5,12 +5,7 @@
<link rel="stylesheet" type="text/css" href="../help.css"/>
</head>
<body>
-<div><p>You are here:
-<a href="PTP">PTP</a> &gt;
-<a href="photran">Photran</a> &gt;
-<a href="documentation">Documentation</a> &gt;
-<a href="photran6">Photran 6.0 User's Guide</a><br><br>
-<big><big><big><big>Photran 6.0 User's Guide</big></big></big></big>
+<div><p><big><big><big><big>Photran 7.0 User's Guide</big></big></big></big>
<br><br>
</p></div>
</body>
diff --git a/org.eclipse.photran.doc.user/html/images/Add_Identifier_to_END.png b/org.eclipse.photran.doc.user/html/images/Add_Identifier_to_END.png
new file mode 100644
index 00000000..543b24d9
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Add_Identifier_to_END.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Add_Subroutine_Parameter.png b/org.eclipse.photran.doc.user/html/images/Add_Subroutine_Parameter.png
new file mode 100644
index 00000000..f026624d
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Add_Subroutine_Parameter.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Browse_VPG_Database.png b/org.eclipse.photran.doc.user/html/images/Browse_VPG_Database.png
new file mode 100644
index 00000000..ffec35c5
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Browse_VPG_Database.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Change_Subroutine_Signature.png b/org.eclipse.photran.doc.user/html/images/Change_Subroutine_Signature.png
new file mode 100644
index 00000000..353a4180
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Change_Subroutine_Signature.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Change_Subroutine_to_Function.png b/org.eclipse.photran.doc.user/html/images/Change_Subroutine_to_Function.png
new file mode 100644
index 00000000..19657d0d
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Change_Subroutine_to_Function.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Code_Templates.png b/org.eclipse.photran.doc.user/html/images/Code_Templates.png
new file mode 100644
index 00000000..fdf1c83a
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Code_Templates.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Convert_Between_If_Statement_and_If_Construct.png b/org.eclipse.photran.doc.user/html/images/Convert_Between_If_Statement_and_If_Construct.png
new file mode 100644
index 00000000..5b82548d
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Convert_Between_If_Statement_and_If_Construct.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Display_Binder_Statistics.png b/org.eclipse.photran.doc.user/html/images/Display_Binder_Statistics.png
new file mode 100644
index 00000000..186663cd
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Display_Binder_Statistics.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Display_Database.png b/org.eclipse.photran.doc.user/html/images/Display_Database.png
new file mode 100644
index 00000000..29819846
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Display_Database.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Display_Database_Statistics.png b/org.eclipse.photran.doc.user/html/images/Display_Database_Statistics.png
new file mode 100644
index 00000000..3bd4c1a8
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Display_Database_Statistics.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Display_Edge_Model_of_Current_File.png b/org.eclipse.photran.doc.user/html/images/Display_Edge_Model_of_Current_File.png
new file mode 100644
index 00000000..fec4c72f
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Display_Edge_Model_of_Current_File.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Display_Symbol_Table_for_Current_File.png b/org.eclipse.photran.doc.user/html/images/Display_Symbol_Table_for_Current_File.png
new file mode 100644
index 00000000..59e6324e
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Display_Symbol_Table_for_Current_File.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Find_All_Declarations_in_Scope.png b/org.eclipse.photran.doc.user/html/images/Find_All_Declarations_in_Scope.png
new file mode 100644
index 00000000..29a56c9a
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Find_All_Declarations_in_Scope.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Fonts.png b/org.eclipse.photran.doc.user/html/images/Fonts.png
new file mode 100644
index 00000000..6c642f02
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Fonts.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Highlight_Variable_Accesses.png b/org.eclipse.photran.doc.user/html/images/Highlight_Variable_Accesses.png
new file mode 100644
index 00000000..d17eece4
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Highlight_Variable_Accesses.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Make_Save_Attributes_Explicit.png b/org.eclipse.photran.doc.user/html/images/Make_Save_Attributes_Explicit.png
new file mode 100644
index 00000000..8f429d37
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Make_Save_Attributes_Explicit.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Move_Module_Entities.png b/org.eclipse.photran.doc.user/html/images/Move_Module_Entities.png
new file mode 100644
index 00000000..32429f2a
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Move_Module_Entities.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/RemoveArithmeticIf.png b/org.eclipse.photran.doc.user/html/images/RemoveArithmeticIf.png
new file mode 100644
index 00000000..33e51e82
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/RemoveArithmeticIf.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/RemoveComputedGoto.png b/org.eclipse.photran.doc.user/html/images/RemoveComputedGoto.png
new file mode 100644
index 00000000..0bc46a68
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/RemoveComputedGoto.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Remove_Assigned_Goto.png b/org.eclipse.photran.doc.user/html/images/Remove_Assigned_Goto.png
new file mode 100644
index 00000000..f9e46229
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Remove_Assigned_Goto.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Remove_Branch_to_End_If.png b/org.eclipse.photran.doc.user/html/images/Remove_Branch_to_End_If.png
new file mode 100644
index 00000000..ffec584f
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Remove_Branch_to_End_If.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Remove_Pause_Statement.png b/org.eclipse.photran.doc.user/html/images/Remove_Pause_Statement.png
new file mode 100644
index 00000000..14907e8f
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Remove_Pause_Statement.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Remove_Real_or_Double_Precision_Loop_Counter.png b/org.eclipse.photran.doc.user/html/images/Remove_Real_or_Double_Precision_Loop_Counter.png
new file mode 100644
index 00000000..c8be1273
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Remove_Real_or_Double_Precision_Loop_Counter.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Remove_Unreferenced_Labels.png b/org.eclipse.photran.doc.user/html/images/Remove_Unreferenced_Labels.png
new file mode 100644
index 00000000..04ed1b61
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Remove_Unreferenced_Labels.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Replace_Character-_with_Character(len=).png b/org.eclipse.photran.doc.user/html/images/Replace_Character-_with_Character(len=).png
new file mode 100644
index 00000000..b0882712
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Replace_Character-_with_Character(len=).png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Replace_Old-Style_Do_Loops.png b/org.eclipse.photran.doc.user/html/images/Replace_Old-Style_Do_Loops.png
new file mode 100644
index 00000000..d7aa9d1c
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Replace_Old-Style_Do_Loops.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Safe-Delete_Internal_Subprograms.png b/org.eclipse.photran.doc.user/html/images/Safe-Delete_Internal_Subprograms.png
new file mode 100644
index 00000000..812b07c9
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Safe-Delete_Internal_Subprograms.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/Text_Editors.png b/org.eclipse.photran.doc.user/html/images/Text_Editors.png
new file mode 100644
index 00000000..b842c40e
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/Text_Editors.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/html/images/TheEditor.png b/org.eclipse.photran.doc.user/html/images/TheEditor.png
new file mode 100644
index 00000000..2dc33f25
--- /dev/null
+++ b/org.eclipse.photran.doc.user/html/images/TheEditor.png
Binary files differ
diff --git a/org.eclipse.photran.doc.user/tocbasic.xml b/org.eclipse.photran.doc.user/tocbasic.xml
index 875c28ac..497ca2dc 100644
--- a/org.eclipse.photran.doc.user/tocbasic.xml
+++ b/org.eclipse.photran.doc.user/tocbasic.xml
@@ -2,13 +2,11 @@
<?NLS TYPE="org.eclipse.help.toc"?>
<toc label="Basic Features" link_to="toc.xml#basic" topic="html/basic/top.html">
- <topic label="Installing Photran" href="html/basic/InstallingPhotran.html"/>
<topic label="Getting Started" href="html/basic/GettingStarted.html"/>
<topic label="Starting a New Project" href="html/basic/StartingNewProject.html"/>
<topic label="Upgrading Projects Created with Earlier Versions of Photran" href="html/basic/UpgradingProjects.html"/>
<topic label="Writing Code" href="html/basic/WritingCode.html"/>
<topic label="Compiling Fortran Programs" href="html/basic/CompilingFortran.html"/>
<topic label="Running and Debugging Fortran Programs" href="html/basic/RunningDebuggingFortran.html"/>
- <topic label="Advanced Features" href="html/basic/AdvancedFeatures.html"/>
<topic label="Troubleshooting" href="html/basic/Troubleshooting.html"/>
</toc>

Back to the top