1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3
4 This file is part of GtkSourceView
5
6 Author: Søren Hauberg
7 Copyright (C) 2009 Søren Hauberg <soren@hauberg.org>
8
9 This library is free software; you can redistribute it and/or
10 modify it under the terms of the GNU Lesser General Public
11 License as published by the Free Software Foundation; either
12 version 2 of the License, or (at your option) any later version.
13
14 This library is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 Lesser General Public License for more details.
18
19 You should have received a copy of the GNU Lesser General Public
20 License along with this library; if not, see <http://www.gnu.org/licenses/>.
21
22-->
23<language id="fcl" name="FCL" version="2.0" _section="Scientific">
24  <metadata>
25    <property name="globs">*.fcl</property>
26    <property name="line-comment-start">//</property>
27  </metadata>
28
29  <styles>
30    <style id="comment"           name="Comment"           map-to="def:comment"/>
31    <style id="floating-point"    name="Floating Point"    map-to="def:floating-point"/>
32    <style id="keyword"           name="Keyword"           map-to="def:keyword"/>
33    <style id="block"             name="Block"             map-to="def:function"/>
34    <style id="decimal"           name="Decimal"           map-to="def:decimal"/>
35    <style id="reserved-constant" name="Reserved Constant" map-to="def:special-constant"/>
36  </styles>
37
38  <definitions>
39    <context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check">
40      <start>//</start>
41      <include>
42        <context ref="def:in-comment"/>
43      </include>
44    </context>
45
46    <context id="keyword" style-ref="keyword">
47      <keyword>ACCU</keyword>
48      <keyword>ACT</keyword>
49      <keyword>AND</keyword>
50      <keyword>ASUM</keyword>
51      <keyword>BDIF</keyword>
52      <keyword>BSUM</keyword>
53      <keyword>COA</keyword>
54      <keyword>COG</keyword>
55      <keyword>COGS</keyword>
56      <keyword>DEFAULT</keyword>
57      <keyword>IF</keyword>
58      <keyword>IS</keyword>
59      <keyword>LM</keyword>
60      <keyword>MAX</keyword>
61      <keyword>METHOD</keyword>
62      <keyword>MIN</keyword>
63      <keyword>NC</keyword>
64      <keyword>NOT</keyword>
65      <keyword>NSUM</keyword>
66      <keyword>OR</keyword>
67      <keyword>PROD</keyword>
68      <keyword>RANGE</keyword>
69      <keyword>RM</keyword>
70      <keyword>RULE</keyword>
71      <keyword>TERM</keyword>
72      <keyword>THEN</keyword>
73      <keyword>WITH</keyword>
74    </context>
75
76    <context id="block" style-ref="block">
77      <keyword>DEFUZZIFY</keyword>
78      <keyword>END_DEFUZZIFY</keyword>
79      <keyword>END_FUNCTION_BLOCK</keyword>
80      <keyword>END_FUZZIFY</keyword>
81      <keyword>END_OPTIONS</keyword>
82      <keyword>END_RULEBLOCK</keyword>
83      <keyword>END_VAR</keyword>
84      <keyword>FUNCTION_BLOCK</keyword>
85      <keyword>FUZZIFY</keyword>
86      <keyword>OPTIONS</keyword>
87      <keyword>RULEBLOCK</keyword>
88      <keyword>VAR</keyword>
89      <keyword>VAR_INPUT</keyword>
90      <keyword>VAR_OUTPUT</keyword>
91    </context>
92
93    <context id="decimal" style-ref="decimal">
94      <match>\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b</match>
95    </context>
96
97    <context id="floating-point-number" style-ref="floating-point">
98      <match>\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?</match>
99    </context>
100
101    <context id="fcl" class="no-spell-check">
102      <include>
103        <context ref="line-comment"/>
104        <context ref="keyword"/>
105        <context ref="block"/>
106        <context ref="decimal"/>
107        <context ref="floating-point-number"/>
108      </include>
109    </context>
110  </definitions>
111</language>
112
113
114