1. <lexer>
    
  2.   <config>
    
  3.     <name>FortranFixed</name>
    
  4.     <alias>fortranfixed</alias>
    
  5.     <filename>*.f</filename>
    
  6.     <filename>*.F</filename>
    
  7.     <mime_type>text/x-fortran</mime_type>
    
  8.     <case_insensitive>true</case_insensitive>
    
  9.     <not_multiline>true</not_multiline>
    
  10.   </config>
    
  11.   <rules>
    
  12.     <state name="cont-char">
    
  13.       <rule pattern=" ">
    
  14.         <token type="TextWhitespace"/>
    
  15.         <push state="code"/>
    
  16.       </rule>
    
  17.       <rule pattern=".">
    
  18.         <token type="GenericStrong"/>
    
  19.         <push state="code"/>
    
  20.       </rule>
    
  21.     </state>
    
  22.     <state name="code">
    
  23.       <rule pattern="(.{66})(.*)(\n)">
    
  24.         <bygroups>
    
  25.           <using lexer="Fortran"/>
    
  26.           <token type="Comment"/>
    
  27.           <token type="TextWhitespace"/>
    
  28.         </bygroups>
    
  29.         <push state="root"/>
    
  30.       </rule>
    
  31.       <rule pattern="(.*)(!.*)(\n)">
    
  32.         <bygroups>
    
  33.           <using lexer="Fortran"/>
    
  34.           <token type="Comment"/>
    
  35.           <token type="TextWhitespace"/>
    
  36.         </bygroups>
    
  37.         <push state="root"/>
    
  38.       </rule>
    
  39.       <rule pattern="(.*)(\n)">
    
  40.         <bygroups>
    
  41.           <using lexer="Fortran"/>
    
  42.           <token type="TextWhitespace"/>
    
  43.         </bygroups>
    
  44.         <push state="root"/>
    
  45.       </rule>
    
  46.       <rule>
    
  47.         <mutators>
    
  48.           <push state="root"/>
    
  49.         </mutators>
    
  50.       </rule>
    
  51.     </state>
    
  52.     <state name="root">
    
  53.       <rule pattern="[C*].*\n">
    
  54.         <token type="Comment"/>
    
  55.       </rule>
    
  56.       <rule pattern="#.*\n">
    
  57.         <token type="CommentPreproc"/>
    
  58.       </rule>
    
  59.       <rule pattern=" {0,4}!.*\n">
    
  60.         <token type="Comment"/>
    
  61.       </rule>
    
  62.       <rule pattern="(.{5})">
    
  63.         <token type="NameLabel"/>
    
  64.         <push state="cont-char"/>
    
  65.       </rule>
    
  66.       <rule pattern=".*\n">
    
  67.         <using lexer="Fortran"/>
    
  68.       </rule>
    
  69.     </state>
    
  70.   </rules>
    
  71. </lexer>