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>