<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<head>
<style>.content {
  padding: 20px;
  height: 100%;
  width: 944px;
  margin-left: auto;
  margin-right: auto;
}
.fold {
  width: 20px;
  float: left;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.number {
  width: 45px;
  float: left;
  margin-right: 10px;
  text-align: right;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.line {
}
.content {
  font-family: "Monospace";
  font-size: 1em;
  background: #3f3f3f;
  color: White;
  width: 944px;
  padding: 20px;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
}
font.Alert {
	color: Yellow;
	font-weight: bold;
}
font.Annotation {
   color: Yellow;
	font-style: italic;
}
font.Attribute {
   color: LightPink;
}
font.BaseN {
   color: Gold;
}
font.BuiltIn {
   color: Coral;
}
font.Char {
   color: Cyan;
}
font.Comment {
   color: Beige;
	font-style: italic;
}
font.CommentVar {
   color: LightBlue;
	font-style: italic;
}
font.Constant {
   color: White;
	font-weight: bold;
}
font.ControlFlow {
   color: DeepPink;
}
font.DataType {
   color: CadetBlue;
}
font.DecVal {
   color: MediumPurple;
	font-weight: bold;
}
font.Documentation {
   color: Gold;
	font-style: italic;
}
font.Error {
   color: Red;
	font-weight: bold;
}
font.Extension {
   color: DarkGray;
	font-weight: bold;
}
font.Float {
   color: DarkViolet;
	font-weight: bold;
}
font.Function {
   color: RosyBrown;
}
font.Import {
   color: PaleVioletRed;
}
font.Information {
   color: LightGreen;
	font-style: italic;
}
font.Keyword {
   color: LightGreen;
	font-weight: bold;
}
font.Normal {
   color: White;
}
font.Operator {
   color: Magenta;
}
font.Others {
   color: GreenYellow;
}
font.Preprocessor {
   color: DarkSeaGreen ;
	font-weight: bold;
}
font.RegionMarker {
   color: Plum;
}
font.SpecialChar {
   color: Plum;
	font-weight: bold;
}
font.SpecialString {
   color: LightBlue;
}
font.String {
   color: MediumAquaMarine;
}
font.Variable {
   color: Turquoise;
	font-weight: bold;
}
font.VerbatimString {
   color: LightSkyBlue;
}
font.Warning {
   color: Brown;
	font-weight: bold;
}

</style>
<title>Kamelon output</title>
</head>
<body>

<div class="content">
<div id="1" class="line"><font class="Comment">!&nbsp;This&nbsp;file&nbsp;is&nbsp;an&nbsp;example&nbsp;to&nbsp;test&nbsp;the&nbsp;syntax&nbsp;highlighting&nbsp;file&nbsp;F.xml</font></br></div>
<div id="2" class="line"><font class="Comment">!&nbsp;(for&nbsp;fortran&nbsp;90&nbsp;and&nbsp;F)</font></br></div>
<div id="3" class="line"></br></div>
<div id="4" class="line"><font class="Comment">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</font></br></div>
<div id="5" class="line"><font class="Comment">!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;THIS&nbsp;IS&nbsp;AN&nbsp;EXAMPLE&nbsp;OF&nbsp;A&nbsp;MODULE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!</font></br></div>
<div id="6" class="line"><font class="Comment">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</font></br></div>
<div id="7" class="line"><font class="Keyword">module</font><font class="Normal">&nbsp;module_example</font></br></div>
<div id="8" class="line"></br></div>
<div id="9" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;use&nbsp;'implicit&nbsp;none'&nbsp;when&nbsp;you&nbsp;want&nbsp;all&nbsp;variables&nbsp;to&nbsp;be&nbsp;declared&nbsp;&nbsp;</font></br></div>
<div id="10" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">implicit</font><font class="Normal">&nbsp;</font><font class="Keyword">none</font></br></div>
<div id="11" class="line"></br></div>
<div id="12" class="line"><font class="Comment">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</font></br></div>
<div id="13" class="line"><font class="Comment">!&nbsp;PUBLICS&nbsp;AND&nbsp;PRIVATES</font></br></div>
<div id="14" class="line"></br></div>
<div id="15" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;In&nbsp;fortran&nbsp;90&nbsp;you&nbsp;can&nbsp;define&nbsp;your&nbsp;own&nbsp;operator</font></br></div>
<div id="16" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">public</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;</font><font class="Keyword">operator</font><font class="Normal">(</font><font class="Operator">.norm.</font><font class="Normal">)</font></br></div>
<div id="17" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">public</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;</font><font class="Keyword">operator</font><font class="Normal">(</font><font class="Keyword">+</font><font class="Normal">)&nbsp;</font><font class="Comment">!&nbsp;&lt;--&nbsp;you&nbsp;can&nbsp;also&nbsp;overload&nbsp;the&nbsp;usual&nbsp;operators</font></br></div>
<div id="18" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">public</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;factorial</font></br></div>
<div id="19" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">public</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;example_fn</font></br></div>
<div id="20" class="line"></br></div>
<div id="21" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">private</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;point3d_add</font></br></div>
<div id="22" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">private</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;point3d_norm</font></br></div>
<div id="23" class="line"></br></div>
<div id="24" class="line"><font class="Comment">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</font></br></div>
<div id="25" class="line"><font class="Comment">!&nbsp;USER-DEFINED&nbsp;TYPES...</font></br></div>
<div id="26" class="line"></br></div>
<div id="27" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;This&nbsp;is&nbsp;a&nbsp;definition&nbsp;to&nbsp;use&nbsp;in&nbsp;declarations&nbsp;of&nbsp;real&nbsp;variables,</font></br></div>
<div id="28" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;parameters,&nbsp;etc.</font></br></div>
<div id="29" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">integer</font><font class="Normal">,&nbsp;</font><font class="DataType">parameter</font><font class="Normal">,&nbsp;</font><font class="DataType">public</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;kr&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;</font><font class="Function">selected_real_kind</font><font class="Normal">(</font><font class="DecVal">10</font><font class="Normal">)</font></br></div>
<div id="30" class="line"></br></div>
<div id="31" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;This&nbsp;is&nbsp;a&nbsp;user-defined&nbsp;type</font></br></div>
<div id="32" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">type</font><font class="Normal">,&nbsp;</font><font class="DataType">public</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;point3d&nbsp;</font></br></div>
<div id="33" class="line"><font class="DataType">&nbsp;&nbsp;&nbsp;&nbsp;real(kind=kr)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;x,&nbsp;y,&nbsp;z</font></br></div>
<div id="34" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">end&nbsp;type</font><font class="Normal">&nbsp;point3d</font></br></div>
<div id="35" class="line"></br></div>
<div id="36" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;This&nbsp;type&nbsp;is&nbsp;useless:&nbsp;it&nbsp;is&nbsp;only&nbsp;an&nbsp;example&nbsp;of&nbsp;type&nbsp;definition!</font></br></div>
<div id="37" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">type</font><font class="Normal">,&nbsp;</font><font class="DataType">public</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;example_type</font></br></div>
<div id="38" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">complex(kind=kr)</font><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;c&nbsp;</font><font class="Comment">!&nbsp;&lt;--&nbsp;a&nbsp;complex&nbsp;number&nbsp;(two&nbsp;reals&nbsp;of&nbsp;kind&nbsp;kr)!</font></br></div>
<div id="39" class="line"><font class="DataType">&nbsp;&nbsp;&nbsp;&nbsp;real</font><font class="Normal">,&nbsp;</font><font class="DataType">dimension(-10:10)</font><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;</font><font class="Keyword">&amp;</font><font class="Normal">&nbsp;</font><font class="Comment">!&nbsp;&lt;--&nbsp;this&nbsp;line&nbsp;does&nbsp;not&nbsp;end&nbsp;here!</font></br></div>
<div id="40" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r1,&nbsp;r2&nbsp;</font><font class="Comment">!&nbsp;&lt;--&nbsp;this&nbsp;is&nbsp;the&nbsp;final&nbsp;part&nbsp;of&nbsp;the&nbsp;previous&nbsp;line</font></br></div>
<div id="41" class="line"><font class="DataType">&nbsp;&nbsp;&nbsp;&nbsp;real</font><font class="Normal">,&nbsp;</font><font class="DataType">pointer</font><font class="Normal">,&nbsp;</font><font class="DataType">dimension(:)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;pointer_to_array_of_real</font></br></div>
<div id="42" class="line"><font class="DataType">&nbsp;&nbsp;&nbsp;&nbsp;real</font><font class="Normal">,&nbsp;</font><font class="DataType">dimension(:)</font><font class="Normal">,&nbsp;</font><font class="DataType">pointer</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;array_of_pointer_to_real</font></br></div>
<div id="43" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">end&nbsp;type</font><font class="Normal">&nbsp;example_type</font></br></div>
<div id="44" class="line"><font class="Normal">&nbsp;&nbsp;</font></br></div>
<div id="45" class="line"><font class="Comment">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</font></br></div>
<div id="46" class="line"><font class="Comment">!&nbsp;INTERFACES...</font></br></div>
<div id="47" class="line"></br></div>
<div id="48" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;Interface&nbsp;for&nbsp;the&nbsp;norm&nbsp;of&nbsp;a&nbsp;3-D&nbsp;vector</font></br></div>
<div id="49" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">interface</font><font class="Normal">&nbsp;</font><font class="Keyword">operator</font><font class="Normal">(</font><font class="Operator">.norm.</font><font class="Normal">)</font></br></div>
<div id="50" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">module&nbsp;procedure</font><font class="Normal">&nbsp;point3d_norm</font></br></div>
<div id="51" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;interface</font></br></div>
<div id="52" class="line"></br></div>
<div id="53" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;Interface&nbsp;for&nbsp;the&nbsp;operator&nbsp;'+'</font></br></div>
<div id="54" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">interface</font><font class="Normal">&nbsp;</font><font class="Keyword">operator</font><font class="Normal">(</font><font class="Keyword">+</font><font class="Normal">)</font></br></div>
<div id="55" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">module&nbsp;procedure</font><font class="Normal">&nbsp;point3d_add</font></br></div>
<div id="56" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;interface</font></br></div>
<div id="57" class="line"></br></div>
<div id="58" class="line"><font class="Comment">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</font></br></div>
<div id="59" class="line"><font class="Comment">!&nbsp;SOME&nbsp;DECLARATIONS...</font></br></div>
<div id="60" class="line"></br></div>
<div id="61" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;A&nbsp;real&nbsp;number&nbsp;can&nbsp;be&nbsp;declared&nbsp;with&nbsp;the&nbsp;following&nbsp;line:</font></br></div>
<div id="62" class="line"><font class="DataType">&nbsp;&nbsp;real(kind=kr)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;real_var1</font></br></div>
<div id="63" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;But&nbsp;if&nbsp;you&nbsp;are&nbsp;not&nbsp;interested&nbsp;on&nbsp;the&nbsp;precision&nbsp;of&nbsp;floating&nbsp;point&nbsp;numbers,</font></br></div>
<div id="64" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;you&nbsp;can&nbsp;use&nbsp;simply:</font></br></div>
<div id="65" class="line"><font class="DataType">&nbsp;&nbsp;real</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;real_var2</font></br></div>
<div id="66" class="line"></br></div>
<div id="67" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;An&nbsp;array&nbsp;can&nbsp;be&nbsp;declared&nbsp;in&nbsp;two&nbsp;ways:</font></br></div>
<div id="68" class="line"><font class="DataType">&nbsp;&nbsp;real(kind=kr)</font><font class="Normal">,&nbsp;</font><font class="DataType">dimension(1:10,&nbsp;-4:5)</font><font class="Normal">,&nbsp;</font><font class="DataType">private</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;a,&nbsp;b,&nbsp;c</font></br></div>
<div id="69" class="line"><font class="DataType">&nbsp;&nbsp;real(kind=kr)</font><font class="Normal">,&nbsp;</font><font class="DataType">private</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;d(</font><font class="DecVal">1</font><font class="Normal">:</font><font class="DecVal">10</font><font class="Normal">,&nbsp;</font><font class="Keyword">-</font><font class="DecVal">4</font><font class="Normal">:</font><font class="DecVal">5</font><font class="Normal">)</font></br></div>
<div id="70" class="line"></br></div>
<div id="71" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;This&nbsp;is&nbsp;a&nbsp;string&nbsp;with&nbsp;fixed&nbsp;lenght</font></br></div>
<div id="72" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">character(len=10)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;str_var</font></br></div>
<div id="73" class="line"></br></div>
<div id="74" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;This&nbsp;is&nbsp;an&nbsp;allocatable&nbsp;array,&nbsp;which&nbsp;can&nbsp;be&nbsp;a&nbsp;target&nbsp;of&nbsp;a&nbsp;pointer</font></br></div>
<div id="75" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">type(example_type)</font><font class="Normal">,&nbsp;</font><font class="DataType">private</font><font class="Normal">,&nbsp;</font><font class="DataType">dimension(:)</font><font class="Normal">,&nbsp;</font><font class="DataType">allocatable</font><font class="Normal">,&nbsp;</font><font class="DataType">target</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;</font><font class="Keyword">&amp;</font></br></div>
<div id="76" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;many_examples</font></br></div>
<div id="77" class="line"></br></div>
<div id="78" class="line"><font class="Comment">!&nbsp;Fortran&nbsp;90&nbsp;hasn't&nbsp;got&nbsp;its&nbsp;own&nbsp;preprocessor,&nbsp;it&nbsp;uses&nbsp;the&nbsp;C&nbsp;preprocessor!</font></br></div>
<div id="79" class="line"><font class="Others">#ifdef&nbsp;XXX</font></br></div>
<div id="80" class="line"><font class="Comment">c&nbsp;&lt;--&nbsp;this&nbsp;is&nbsp;a&nbsp;comment&nbsp;in&nbsp;the&nbsp;old&nbsp;fortran&nbsp;77&nbsp;style&nbsp;(fixed&nbsp;form)</font></br></div>
<div id="81" class="line"><font class="Comment">c&nbsp;This&nbsp;is&nbsp;a&nbsp;free&nbsp;form&nbsp;file,&nbsp;so&nbsp;we&nbsp;shouldn't&nbsp;use&nbsp;this&nbsp;kind&nbsp;of&nbsp;comments!</font></br></div>
<div id="82" class="line"><font class="Comment">c&nbsp;But&nbsp;fortran&nbsp;90&nbsp;still&nbsp;understands&nbsp;fixed&nbsp;form,&nbsp;when&nbsp;parsing&nbsp;sources&nbsp;with</font></br></div>
<div id="83" class="line"><font class="Comment">c&nbsp;the&nbsp;*.f&nbsp;extension.</font></br></div>
<div id="84" class="line"><font class="Normal">&nbsp;c&nbsp;</font><font class="Comment">!&nbsp;&lt;--&nbsp;this&nbsp;'c'&nbsp;shouldn't&nbsp;be&nbsp;highlighted&nbsp;as&nbsp;a&nbsp;comment!</font></br></div>
<div id="85" class="line"><font class="Others">#endif</font></br></div>
<div id="86" class="line"></br></div>
<div id="87" class="line"><font class="Comment">contains</font></br></div>
<div id="88" class="line"></br></div>
<div id="89" class="line"></br></div>
<div id="90" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;The&nbsp;sum&nbsp;of&nbsp;two&nbsp;points</font></br></div>
<div id="91" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">pure</font><font class="Normal">&nbsp;</font><font class="Keyword">function</font><font class="Normal">&nbsp;point3d_add(a,&nbsp;b)&nbsp;</font><font class="Keyword">result</font><font class="Normal">(rs)</font></br></div>
<div id="92" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">type(point3d)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;rs</font></br></div>
<div id="93" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">type(point3d)</font><font class="Normal">,&nbsp;</font><font class="DataType">intent(in)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;a,&nbsp;b</font></br></div>
<div id="94" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;rs%x&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;a%x&nbsp;</font><font class="Keyword">+</font><font class="Normal">&nbsp;b%x</font></br></div>
<div id="95" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;rs%y&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;a%y&nbsp;</font><font class="Keyword">+</font><font class="Normal">&nbsp;b%y</font></br></div>
<div id="96" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;rs%z&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;a%z&nbsp;</font><font class="Keyword">+</font><font class="Normal">&nbsp;b%z</font></br></div>
<div id="97" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;function</font><font class="Normal">&nbsp;point3d_add</font></br></div>
<div id="98" class="line"></br></div>
<div id="99" class="line"></br></div>
<div id="100" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;The&nbsp;norm&nbsp;of&nbsp;a&nbsp;point</font></br></div>
<div id="101" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">pure</font><font class="Normal">&nbsp;</font><font class="Keyword">function</font><font class="Normal">&nbsp;point3d_norm(a)&nbsp;</font><font class="Keyword">result</font><font class="Normal">(rs)</font></br></div>
<div id="102" class="line"><font class="DataType">&nbsp;&nbsp;&nbsp;&nbsp;real(kind=kr)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;rs</font></br></div>
<div id="103" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">type(point3d)</font><font class="Normal">,&nbsp;</font><font class="DataType">intent(in)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;a</font></br></div>
<div id="104" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;rs&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;</font><font class="BuiltIn">sqrt</font><font class="Normal">(a%x&nbsp;</font><font class="Keyword">*</font><font class="Normal">&nbsp;a%x&nbsp;</font><font class="Keyword">+</font><font class="Normal">&nbsp;a%y&nbsp;</font><font class="Keyword">*</font><font class="Normal">&nbsp;a%y&nbsp;</font><font class="Keyword">+</font><font class="Normal">&nbsp;a%z&nbsp;</font><font class="Keyword">*</font><font class="Normal">&nbsp;a%z)&nbsp;&nbsp;&nbsp;&nbsp;</font></br></div>
<div id="105" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;function</font><font class="Normal">&nbsp;point3d_norm</font></br></div>
<div id="106" class="line"></br></div>
<div id="107" class="line"></br></div>
<div id="108" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;A&nbsp;simple&nbsp;recursive&nbsp;function</font></br></div>
<div id="109" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">recursive</font><font class="Normal">&nbsp;</font><font class="Keyword">function</font><font class="Normal">&nbsp;factorial(i)&nbsp;</font><font class="Keyword">result</font><font class="Normal">&nbsp;(rs)</font></br></div>
<div id="110" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">integer</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;rs</font></br></div>
<div id="111" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">integer</font><font class="Normal">,&nbsp;</font><font class="DataType">intent(in)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;i</font></br></div>
<div id="112" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">if</font><font class="Normal">&nbsp;(&nbsp;i&nbsp;</font><font class="Operator">&lt;</font><font class="Keyword">=</font><font class="Normal">&nbsp;</font><font class="DecVal">1</font><font class="Normal">&nbsp;)&nbsp;</font><font class="Keyword">then</font></br></div>
<div id="113" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;</font><font class="DecVal">1</font></br></div>
<div id="114" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">else</font></br></div>
<div id="115" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rs&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;i&nbsp;</font><font class="Keyword">*</font><font class="Normal">&nbsp;factorial(i&nbsp;</font><font class="Keyword">-</font><font class="Normal">&nbsp;</font><font class="DecVal">1</font><font class="Normal">)</font></br></div>
<div id="116" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;if</font></br></div>
<div id="117" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;function</font><font class="Normal">&nbsp;factorial</font></br></div>
<div id="118" class="line"></br></div>
<div id="119" class="line"></br></div>
<div id="120" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;This&nbsp;is&nbsp;a&nbsp;useless&nbsp;function</font></br></div>
<div id="121" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">subroutine</font><font class="Normal">&nbsp;example_fn(int_arg,&nbsp;real_arg,&nbsp;str_arg)</font></br></div>
<div id="122" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">integer</font><font class="Normal">,&nbsp;</font><font class="DataType">intent(in)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;int_arg</font></br></div>
<div id="123" class="line"><font class="DataType">&nbsp;&nbsp;&nbsp;&nbsp;real(kind=kr)</font><font class="Normal">,&nbsp;</font><font class="DataType">intent(out)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;real_arg</font></br></div>
<div id="124" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">character(len=*)</font><font class="Normal">,&nbsp;</font><font class="DataType">intent(in)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;str_arg</font></br></div>
<div id="125" class="line"></br></div>
<div id="126" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">type(example_type)</font><font class="Normal">,&nbsp;</font><font class="DataType">pointer</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;p</font></br></div>
<div id="127" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">integer</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;n,&nbsp;i,&nbsp;j</font></br></div>
<div id="128" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="DataType">logical</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;flag</font></br></div>
<div id="129" class="line"></br></div>
<div id="130" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;flag&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;</font><font class="Constant">.true.</font><font class="Normal">&nbsp;</font><font class="Comment">!&nbsp;.true.&nbsp;is&nbsp;not&nbsp;an&nbsp;operator!</font></br></div>
<div id="131" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">if</font><font class="Normal">&nbsp;(&nbsp;flag&nbsp;</font><font class="Operator">.and.</font><font class="Normal">&nbsp;flag&nbsp;)&nbsp;</font><font class="Keyword">then</font><font class="Normal">&nbsp;</font><font class="Comment">!&nbsp;.and.&nbsp;is&nbsp;a&nbsp;pre-defined&nbsp;operator</font></br></div>
<div id="132" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Preprocessor">print</font><font class="Normal">&nbsp;</font><font class="Keyword">*</font><font class="Normal">,&nbsp;</font><font class="String">&quot;blabla&quot;</font></br></div>
<div id="133" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;if</font></br></div>
<div id="134" class="line"></br></div>
<div id="135" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Comment">!&nbsp;Examples&nbsp;of&nbsp;inquiry&nbsp;functions:&nbsp;allocated,&nbsp;lbound,&nbsp;ubound.</font></br></div>
<div id="136" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">if</font><font class="Normal">&nbsp;(&nbsp;</font><font class="Operator">.not.</font><font class="Normal">&nbsp;</font><font class="Function">allocated</font><font class="Normal">(many_examples)&nbsp;)&nbsp;</font><font class="Keyword">then</font></br></div>
<div id="137" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">allocate</font><font class="Normal">(&nbsp;many_examples(</font><font class="DecVal">10</font><font class="Normal">)&nbsp;)</font></br></div>
<div id="138" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;if</font></br></div>
<div id="139" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Preprocessor">print</font><font class="Normal">&nbsp;</font><font class="Keyword">*</font><font class="Normal">,&nbsp;</font><font class="String">&quot;Lower&nbsp;bound&nbsp;=&nbsp;&quot;</font><font class="Normal">,&nbsp;</font><font class="Function">lbound</font><font class="Normal">(many_examples,&nbsp;</font><font class="DecVal">1</font><font class="Normal">)</font></br></div>
<div id="140" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Preprocessor">print</font><font class="Normal">&nbsp;</font><font class="Keyword">*</font><font class="Normal">,&nbsp;</font><font class="String">&quot;Upper&nbsp;bound&nbsp;=&nbsp;&quot;</font><font class="Normal">,&nbsp;</font><font class="Function">ubound</font><font class="Normal">(many_examples,&nbsp;</font><font class="DecVal">1</font><font class="Normal">)</font></br></div>
<div id="141" class="line"></br></div>
<div id="142" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</font><font class="Keyword">=</font><font class="Operator">&gt;</font><font class="Normal">&nbsp;many_examples(</font><font class="DecVal">5</font><font class="Normal">)&nbsp;</font><font class="Comment">!&nbsp;&lt;--&nbsp;p&nbsp;is&nbsp;a&nbsp;pointer</font></br></div>
<div id="143" class="line"></br></div>
<div id="144" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Comment">!&nbsp;A&nbsp;strange&nbsp;way&nbsp;to&nbsp;calculate&nbsp;i*i:&nbsp;add&nbsp;the&nbsp;first&nbsp;i&nbsp;odd&nbsp;numbers</font></br></div>
<div id="145" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;</font><font class="DecVal">6</font></br></div>
<div id="146" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;</font><font class="DecVal">0</font></br></div>
<div id="147" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">do</font><font class="Normal">&nbsp;n&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;</font><font class="DecVal">1</font><font class="Normal">,&nbsp;i</font></br></div>
<div id="148" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;j&nbsp;</font><font class="Keyword">+</font><font class="Normal">&nbsp;(</font><font class="DecVal">2</font><font class="Keyword">*</font><font class="Normal">n&nbsp;</font><font class="Keyword">-</font><font class="Normal">&nbsp;</font><font class="DecVal">1</font><font class="Normal">)</font></br></div>
<div id="149" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;do</font><font class="Normal">&nbsp;</font></br></div>
<div id="150" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Preprocessor">print</font><font class="Normal">&nbsp;</font><font class="Keyword">*</font><font class="Normal">,&nbsp;</font><font class="String">&quot;i*i&nbsp;=&nbsp;&quot;</font><font class="Normal">,&nbsp;i</font><font class="Keyword">*</font><font class="Normal">i,&nbsp;j</font></br></div>
<div id="151" class="line"></br></div>
<div id="152" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;real_arg&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;</font><font class="BuiltIn">real</font><font class="Normal">(j)&nbsp;</font><font class="Comment">!&nbsp;&lt;--&nbsp;here&nbsp;the&nbsp;highlighting&nbsp;is&nbsp;not&nbsp;very&nbsp;good:</font></br></div>
<div id="153" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Comment">!&nbsp;it&nbsp;is&nbsp;unable&nbsp;to&nbsp;distinguish&nbsp;between&nbsp;this&nbsp;and&nbsp;a&nbsp;definition&nbsp;like:</font></br></div>
<div id="154" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Comment">!&nbsp;&nbsp;real(kind=kr)&nbsp;::&nbsp;a</font></br></div>
<div id="155" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;&nbsp;</font><font class="Keyword">deallocate</font><font class="Normal">(&nbsp;many_examples&nbsp;)</font></br></div>
<div id="156" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">end&nbsp;subroutine</font><font class="Normal">&nbsp;example_fn</font></br></div>
<div id="157" class="line"></br></div>
<div id="158" class="line"><font class="Keyword">end&nbsp;module</font><font class="Normal">&nbsp;module_example</font></br></div>
<div id="159" class="line"></br></div>
<div id="160" class="line"></br></div>
<div id="161" class="line"><font class="Comment">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</font></br></div>
<div id="162" class="line"><font class="Comment">!&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;THIS&nbsp;IS&nbsp;THE&nbsp;MAIN&nbsp;PROGRAM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!</font></br></div>
<div id="163" class="line"><font class="Comment">!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!</font></br></div>
<div id="164" class="line"><font class="Keyword">program</font><font class="Normal">&nbsp;example</font></br></div>
<div id="165" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">use</font><font class="Normal">&nbsp;module_example</font></br></div>
<div id="166" class="line"></br></div>
<div id="167" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Comment">!&nbsp;this&nbsp;is&nbsp;another&nbsp;example&nbsp;of&nbsp;use&nbsp;of&nbsp;the&nbsp;'implicit'&nbsp;keyword</font></br></div>
<div id="168" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">implicit</font><font class="Normal">&nbsp;</font><font class="DataType">double</font><font class="Normal">&nbsp;</font><font class="DataType">precision</font><font class="Normal">&nbsp;(a</font><font class="Keyword">-</font><font class="Normal">h,o</font><font class="Keyword">-</font><font class="Normal">z)</font></br></div>
<div id="169" class="line"></br></div>
<div id="170" class="line"><font class="DataType">&nbsp;&nbsp;real(kind=kr)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;var_out</font></br></div>
<div id="171" class="line"></br></div>
<div id="172" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="DataType">type(point3d)</font><font class="Normal">&nbsp;</font><font class="DataType">::</font><font class="Normal">&nbsp;</font><font class="Keyword">&amp;</font></br></div>
<div id="173" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;a&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;point3d(</font><font class="Float">0.0_kr</font><font class="Normal">,&nbsp;</font><font class="Float">1.0_kr</font><font class="Normal">,&nbsp;</font><font class="Float">2.0_kr</font><font class="Normal">),&nbsp;</font><font class="Keyword">&amp;</font></br></div>
<div id="174" class="line"><font class="Normal">&nbsp;&nbsp;&nbsp;b&nbsp;</font><font class="Keyword">=</font><font class="Normal">&nbsp;point3d(</font><font class="Float">4.0_kr</font><font class="Normal">,&nbsp;</font><font class="Float">5.0_kr</font><font class="Normal">,&nbsp;</font><font class="Float">6.0_kr</font><font class="Normal">)</font></br></div>
<div id="175" class="line"></br></div>
<div id="176" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Preprocessor">print</font><font class="Normal">&nbsp;</font><font class="Keyword">*</font><font class="Normal">,&nbsp;</font><font class="String">&quot;a&nbsp;+&nbsp;b&nbsp;=&nbsp;&quot;</font><font class="Normal">,&nbsp;</font><font class="Operator">.norm.</font><font class="Normal">&nbsp;(a&nbsp;</font><font class="Keyword">+</font><font class="Normal">&nbsp;b)</font></br></div>
<div id="177" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Preprocessor">print</font><font class="Normal">&nbsp;</font><font class="Keyword">*</font><font class="Normal">,&nbsp;</font><font class="String">&quot;factorial&nbsp;of&nbsp;5&nbsp;=&nbsp;&quot;</font><font class="Normal">,&nbsp;factorial(</font><font class="DecVal">5</font><font class="Normal">)</font></br></div>
<div id="178" class="line"></br></div>
<div id="179" class="line"><font class="Normal">&nbsp;&nbsp;</font><font class="Keyword">call</font><font class="Normal">&nbsp;example_fn(</font><font class="DecVal">1</font><font class="Normal">,&nbsp;var_out,&nbsp;</font><font class="String">&quot;hello!&quot;</font><font class="Normal">)</font></br></div>
<div id="180" class="line"></br></div>
<div id="181" class="line"><font class="Keyword">end&nbsp;program</font><font class="Normal">&nbsp;example</font></br></div>
</div>
</body>
</html>