onesenterprise.xml

 1<lexer>
 2  <config>
 3    <name>OnesEnterprise</name>
 4    <alias>ones</alias>
 5    <alias>onesenterprise</alias>
 6    <alias>1S</alias>
 7    <alias>1S:Enterprise</alias>
 8    <filename>*.EPF</filename>
 9    <filename>*.epf</filename>
10    <filename>*.ERF</filename>
11    <filename>*.erf</filename>
12    <mime_type>application/octet-stream</mime_type>
13    <case_insensitive>true</case_insensitive>
14  </config>
15  <rules>
16    <state name="root">
17      <rule pattern="\n">
18        <token type="Text"/>
19      </rule>
20      <rule pattern="\s+">
21        <token type="Text"/>
22      </rule>
23      <rule pattern="\\\n">
24        <token type="Text"/>
25      </rule>
26      <rule pattern="[^\S\n]+">
27        <token type="Text"/>
28      </rule>
29      <rule pattern="//(.*?)\n">
30        <token type="Comment"/>
31      </rule>
32      <rule pattern="(#ΠΎΠ±Π»Π°ΡΡ‚ΡŒ|#region|#конСцобласти|#endregion|#Ссли|#if|#ΠΈΠ½Π°Ρ‡Π΅|#else|#конСцСсли|#endif).*">
33        <token type="CommentPreproc"/>
34      </rule>
35      <rule pattern="(&amp;Π½Π°ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅|&amp;atclient|&amp;насСрвСрС|&amp;atserver|&amp;насСрвСрСбСзконтСкста|&amp;atservernocontext|&amp;наклиСнтСнасСрвСрСбСзконтСкста|&amp;atclientatservernocontext).*">
36        <token type="CommentPreproc"/>
37      </rule>
38      <rule pattern="(&gt;=|&lt;=|&lt;&gt;|\+|-|=|&gt;|&lt;|\*|/|%)">
39        <token type="Operator"/>
40      </rule>
41      <rule pattern="(;|,|\)|\(|\.)">
42        <token type="Punctuation"/>
43      </rule>
44      <rule pattern="(истина|лоТь|ΠΈΠ»ΠΈ|false|true|Π½Π΅|and|not|ΠΈ|or)\b">
45        <token type="Operator"/>
46      </rule>
47      <rule pattern="(иначССсли|конСцСсли|ΠΈΠ½Π°Ρ‡Π΅|Ρ‚ΠΎΠ³Π΄Π°|Ссли|elsif|endif|else|then|if)\b">
48        <token type="Operator"/>
49      </rule>
50      <rule pattern="(ΠΊΠΎΠ½Π΅Ρ†Ρ†ΠΈΠΊΠ»Π°|ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ|Ρ†ΠΈΠΊΠ»|ΠΏΠΎΠΊΠ°|для|while|enddo|ΠΏΠΎ|each|ΠΈΠ·|for|do|in|to)\b">
51        <token type="Operator"/>
52      </rule>
53      <rule pattern="(ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ|ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ|Π²ΠΎΠ·Π²Ρ€Π°Ρ‚|ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ|continue|return|break|goto)\b">
54        <token type="Operator"/>
55      </rule>
56      <rule pattern="(ΠΊΠΎΠ½Π΅Ρ†ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹|ΠΊΠΎΠ½Π΅Ρ†Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ|ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°|функция|endprocedure|endfunction|procedure|function)\b">
57        <token type="Keyword"/>
58      </rule>
59      <rule pattern="(экспорт|Π½ΠΎΠ²Ρ‹ΠΉ|ΠΏΠ΅Ρ€Π΅ΠΌ|Π·Π½Π°Ρ‡|export|new|val|var)\b">
60        <token type="Keyword"/>
61      </rule>
62      <rule pattern="(Π²Ρ‹Π·Π²Π°Ρ‚ΡŒΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅|ΠΊΠΎΠ½Π΅Ρ†ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ|ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅|ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°|endtry|except|raise|try)\b">
63        <token type="Keyword"/>
64      </rule>
65      <rule pattern="(Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ|Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ|execute|eval)\b">
66        <token type="Keyword"/>
67      </rule>
68      <rule pattern="&#34;">
69        <token type="LiteralString"/>
70        <push state="string"/>
71      </rule>
72      <rule pattern="[_а-яА-Я0-9][а-яА-Я0-9]*">
73        <token type="Name"/>
74      </rule>
75      <rule pattern="[_\w][\w]*">
76        <token type="Name"/>
77      </rule>
78    </state>
79    <state name="string">
80      <rule pattern="&#34;&#34;">
81        <token type="LiteralString"/>
82      </rule>
83      <rule pattern="&#34;C?">
84        <token type="LiteralString"/>
85        <pop depth="1"/>
86      </rule>
87      <rule pattern="[^&#34;]+">
88        <token type="LiteralString"/>
89      </rule>
90    </state>
91  </rules>
92</lexer>