<?xml version="1.0"?>

<!DOCTYPE MODE SYSTEM "xmode.dtd">
<!--  FORTRAN edit mode
      Version 1.3
      2007-06-21
      suitable for jEdit 4.2final and jEdit 4.3pre9
-->
<!-- This is a mode for FORTRAN source files.  In general, this supports
common features of the F90 specification.  This may however contain some
platform or vendor specific keywords (in paticular COMPAQ(Digital) FORTRAN).
-->
<!-- Suggested catalog file entry:

<MODE NAME="FORTRAN"		FILE="FORTRAN.xml"
				FILE_NAME_GLOB="*.{f,for,fort,f77,f90}" />
 -->
<MODE>
    <PROPS>
         <!-- To get the line comment inserted correctly at line start:
              use the "toggle-line-comment"-action of TextTools plugin 
              with the active option "Insert line comments at start of line" -->
         <PROPERTY NAME="lineComment"    VALUE="C" />
         
         <PROPERTY NAME="wordBreakChars" VALUE=",+-=&lt;&gt;/?^&amp;*" />
         <!--<PROPERTY NAME="indentNextLine" VALUE="\s*((if\s*\(.*\)\s*then|else\s*|do\s*)*)" />-->
         <PROPERTY NAME="indentNextLines" VALUE="\s*((if\s*\(.*\)\s*then|else\s*|do\s*)*)" />
    </PROPS>

    <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
<!-- In fixed form, column 72 is the last column parsed, unless the
\extend_source option is invoked -->
    <!-- TERMINATE AT_CHAR="72" / -->

<!-- comment either !, C, or * can be used as a comment in the first column
in either free or fixed form FORTRAN-->
<EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">C</EOL_SPAN>
<EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">!</EOL_SPAN>
<EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">*</EOL_SPAN>
<EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
<EOL_SPAN TYPE="COMMENT2" AT_LINE_START="TRUE">D</EOL_SPAN>

		<SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
			<BEGIN>"</BEGIN>
			<END>"</END>
		</SPAN>
		<SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
			<BEGIN>'</BEGIN>
			<END>'</END>
		</SPAN>

<!-- Highlighted Operators -->
		<SEQ TYPE="OPERATOR">&lt;=</SEQ>
		<SEQ TYPE="OPERATOR">&gt;=</SEQ>
		<SEQ TYPE="OPERATOR">&gt;</SEQ>
		<SEQ TYPE="OPERATOR">&lt;</SEQ>
		<SEQ TYPE="OPERATOR">&amp;</SEQ>
		<SEQ TYPE="OPERATOR">/=</SEQ>
		<SEQ TYPE="OPERATOR">==</SEQ>
		<SEQ TYPE="OPERATOR">.lt.</SEQ>
		<SEQ TYPE="OPERATOR">.gt.</SEQ>
		<SEQ TYPE="OPERATOR">.eq.</SEQ>
		<SEQ TYPE="OPERATOR">.ne.</SEQ>
		<SEQ TYPE="OPERATOR">.le.</SEQ>
		<SEQ TYPE="OPERATOR">.ge.</SEQ>
		<SEQ TYPE="OPERATOR">.AND.</SEQ>
		<SEQ TYPE="OPERATOR">.OR.</SEQ>

<KEYWORDS>
<!-- unclassified keywords -->
<KEYWORD1>INCLUDE</KEYWORD1>
<!-- Program units and calling them -->
<KEYWORD1>PROGRAM</KEYWORD1>
<KEYWORD1>MODULE</KEYWORD1>
<KEYWORD1>SUBROUTINE</KEYWORD1>
<KEYWORD1>FUNCTION</KEYWORD1>
<KEYWORD1>CONTAINS</KEYWORD1>
<KEYWORD1>USE</KEYWORD1>
<KEYWORD1>CALL</KEYWORD1>
<KEYWORD1>RETURN</KEYWORD1>
<!-- data types, declaration, and allocation keywords -->
<KEYWORD1>IMPLICIT</KEYWORD1>
<KEYWORD1>EXPLICIT</KEYWORD1>
<KEYWORD1>NONE</KEYWORD1>
<KEYWORD1>DATA</KEYWORD1>
<KEYWORD1>PARAMETER</KEYWORD1>
<KEYWORD1>ALLOCATE</KEYWORD1>
<KEYWORD1>ALLOCATABLE</KEYWORD1>
<KEYWORD1>ALLOCATED</KEYWORD1>
<KEYWORD1>DEALLOCATE</KEYWORD1>
<KEYWORD1>INTEGER</KEYWORD1>
<KEYWORD1>REAL</KEYWORD1>
<KEYWORD1>DOUBLE</KEYWORD1>
<KEYWORD1>PRECISION</KEYWORD1>
<KEYWORD1>COMPLEX</KEYWORD1>
<KEYWORD1>LOGICAL</KEYWORD1>
<KEYWORD1>CHARACTER</KEYWORD1>
<KEYWORD1>DIMENSION</KEYWORD1>
<KEYWORD1>KIND</KEYWORD1>
<!-- FORTRAN Statements -->
<KEYWORD1>CASE</KEYWORD1>
<KEYWORD1>SELECT</KEYWORD1>
<KEYWORD1>DEFAULT</KEYWORD1>
<KEYWORD1>CONTINUE</KEYWORD1>
<KEYWORD1>CYCLE</KEYWORD1>
<KEYWORD1>DO</KEYWORD1>
<KEYWORD1>WHILE</KEYWORD1>
<KEYWORD1>ELSE</KEYWORD1>
<KEYWORD1>IF</KEYWORD1>
<KEYWORD1>ELSEIF</KEYWORD1>
<KEYWORD1>THEN</KEYWORD1>
<KEYWORD1>ELSEWHERE</KEYWORD1>
<KEYWORD1>END</KEYWORD1>
<KEYWORD1>ENDIF</KEYWORD1>
<KEYWORD1>ENDDO</KEYWORD1>
<KEYWORD1>FORALL</KEYWORD1>
<KEYWORD1>WHERE</KEYWORD1>
<KEYWORD1>EXIT</KEYWORD1>
<KEYWORD1>GOTO</KEYWORD1>
<KEYWORD1>PAUSE</KEYWORD1>
<KEYWORD1>STOP</KEYWORD1>
<!-- i/o keywords -->
<KEYWORD1>BACKSPACE</KEYWORD1>
<KEYWORD1>CLOSE</KEYWORD1>
<KEYWORD1>ENDFILE</KEYWORD1>
<KEYWORD1>INQUIRE</KEYWORD1>
<KEYWORD1>OPEN</KEYWORD1>
<KEYWORD1>PRINT</KEYWORD1>
<KEYWORD1>READ</KEYWORD1>
<KEYWORD1>REWIND</KEYWORD1>
<KEYWORD1>WRITE</KEYWORD1>
<KEYWORD1>FORMAT</KEYWORD1>
<!-- Type conversion and utility functions -->
<KEYWORD1>AIMAG</KEYWORD1>
<KEYWORD1>AINT</KEYWORD1>
<KEYWORD1>AMAX0</KEYWORD1>
<KEYWORD1>AMIN0</KEYWORD1>
<KEYWORD1>ANINT</KEYWORD1>
<KEYWORD1>CEILING</KEYWORD1>
<KEYWORD1>CMPLX</KEYWORD1>
<KEYWORD1>CONJG</KEYWORD1>
<KEYWORD1>DBLE</KEYWORD1>
<KEYWORD1>DCMPLX</KEYWORD1>
<KEYWORD1>DFLOAT</KEYWORD1>
<KEYWORD1>DIM</KEYWORD1>
<KEYWORD1>DPROD</KEYWORD1>
<KEYWORD1>FLOAT</KEYWORD1>
<KEYWORD1>FLOOR</KEYWORD1>
<KEYWORD1>IFIX</KEYWORD1>
<KEYWORD1>IMAG</KEYWORD1>
<KEYWORD1>INT</KEYWORD1>
<KEYWORD1>LOGICAL</KEYWORD1>
<KEYWORD1>MODULO</KEYWORD1>
<KEYWORD1>NINT</KEYWORD1>
<KEYWORD1>REAL</KEYWORD1>
<KEYWORD1>SIGN</KEYWORD1>
<KEYWORD1>SNGL</KEYWORD1>
<KEYWORD1>TRANSFER</KEYWORD1>
<KEYWORD1>ZEXT</KEYWORD1>
<!-- More Functions -->
<KEYWORD1>ABS</KEYWORD1>
<KEYWORD1>ACOS</KEYWORD1>
<KEYWORD1>AIMAG</KEYWORD1>
<KEYWORD1>AINT</KEYWORD1>
<KEYWORD1>ALOG</KEYWORD1>
<KEYWORD1>ALOG10</KEYWORD1>
<KEYWORD1>AMAX0</KEYWORD1>
<KEYWORD1>AMAX1</KEYWORD1>
<KEYWORD1>AMIN0</KEYWORD1>
<KEYWORD1>AMIN1</KEYWORD1>
<KEYWORD1>AMOD</KEYWORD1>
<KEYWORD1>ANINT</KEYWORD1>
<KEYWORD1>ASIN</KEYWORD1>
<KEYWORD1>ATAN</KEYWORD1>
<KEYWORD1>ATAN2</KEYWORD1>
<KEYWORD1>CABS</KEYWORD1>
<KEYWORD1>CCOS</KEYWORD1>
<KEYWORD1>CHAR</KEYWORD1>
<KEYWORD1>CLOG</KEYWORD1>
<KEYWORD1>CMPLX</KEYWORD1>
<KEYWORD1>CONJG</KEYWORD1>
<KEYWORD1>COS</KEYWORD1>
<KEYWORD1>COSH</KEYWORD1>
<KEYWORD1>CSIN</KEYWORD1>
<KEYWORD1>CSQRT</KEYWORD1>
<KEYWORD1>DABS</KEYWORD1>
<KEYWORD1>DACOS</KEYWORD1>
<KEYWORD1>DASIN</KEYWORD1>
<KEYWORD1>DATAN</KEYWORD1>
<KEYWORD1>DATAN2</KEYWORD1>
<KEYWORD1>DBLE</KEYWORD1>
<KEYWORD1>DCOS</KEYWORD1>
<KEYWORD1>DCOSH</KEYWORD1>
<KEYWORD1>DDIM</KEYWORD1>
<KEYWORD1>DEXP</KEYWORD1>
<KEYWORD1>DIM</KEYWORD1>
<KEYWORD1>DINT</KEYWORD1>
<KEYWORD1>DLOG</KEYWORD1>
<KEYWORD1>DLOG10</KEYWORD1>
<KEYWORD1>DMAX1</KEYWORD1>
<KEYWORD1>DMIN1</KEYWORD1>
<KEYWORD1>DMOD</KEYWORD1>
<KEYWORD1>DNINT</KEYWORD1>
<KEYWORD1>DPROD</KEYWORD1>
<KEYWORD1>DREAL</KEYWORD1>
<KEYWORD1>DSIGN</KEYWORD1>
<KEYWORD1>DSIN</KEYWORD1>
<KEYWORD1>DSINH</KEYWORD1>
<KEYWORD1>DSQRT</KEYWORD1>
<KEYWORD1>DTAN</KEYWORD1>
<KEYWORD1>DTANH</KEYWORD1>
<KEYWORD1>EXP</KEYWORD1>
<KEYWORD1>FLOAT</KEYWORD1>
<KEYWORD1>IABS</KEYWORD1>
<KEYWORD1>ICHAR</KEYWORD1>
<KEYWORD1>IDIM</KEYWORD1>
<KEYWORD1>IDINT</KEYWORD1>
<KEYWORD1>IDNINT</KEYWORD1>
<KEYWORD1>IFIX</KEYWORD1>
<KEYWORD1>INDEX</KEYWORD1>
<KEYWORD1>INT</KEYWORD1>
<KEYWORD1>ISIGN</KEYWORD1>
<KEYWORD1>LEN</KEYWORD1>
<KEYWORD1>LGE</KEYWORD1>
<KEYWORD1>LGT</KEYWORD1>
<KEYWORD1>LLE</KEYWORD1>
<KEYWORD1>LLT</KEYWORD1>
<KEYWORD1>LOG</KEYWORD1>
<KEYWORD1>LOG10</KEYWORD1>
<KEYWORD1>MAX</KEYWORD1>
<KEYWORD1>MAX0</KEYWORD1>
<KEYWORD1>MAX1</KEYWORD1>
<KEYWORD1>MIN</KEYWORD1>
<KEYWORD1>MIN0</KEYWORD1>
<KEYWORD1>MIN1</KEYWORD1>
<KEYWORD1>MOD</KEYWORD1>
<KEYWORD1>NINT</KEYWORD1>
<KEYWORD1>REAL</KEYWORD1>
<KEYWORD1>SIGN</KEYWORD1>
<KEYWORD1>SIN</KEYWORD1>
<KEYWORD1>SINH</KEYWORD1>
<KEYWORD1>SNGL</KEYWORD1>
<KEYWORD1>SQRT</KEYWORD1>
<KEYWORD1>TAN</KEYWORD1>
<KEYWORD1>TANH</KEYWORD1>
<!-- logical values -->
<KEYWORD1>.false.</KEYWORD1>
<KEYWORD1>.true.</KEYWORD1>

</KEYWORDS>
    </RULES>
</MODE>
