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="(&Π½Π°ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅|&atclient|&Π½Π°ΡΠ΅ΡΠ²Π΅ΡΠ΅|&atserver|&Π½Π°ΡΠ΅ΡΠ²Π΅ΡΠ΅Π±Π΅Π·ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°|&atservernocontext|&Π½Π°ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅Π½Π°ΡΠ΅ΡΠ²Π΅ΡΠ΅Π±Π΅Π·ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°|&atclientatservernocontext).*">
36 <token type="CommentPreproc"/>
37 </rule>
38 <rule pattern="(>=|<=|<>|\+|-|=|>|<|\*|/|%)">
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=""">
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="""">
81 <token type="LiteralString"/>
82 </rule>
83 <rule pattern=""C?">
84 <token type="LiteralString"/>
85 <pop depth="1"/>
86 </rule>
87 <rule pattern="[^"]+">
88 <token type="LiteralString"/>
89 </rule>
90 </state>
91 </rules>
92</lexer>