...
1<lexer>
2 <config>
3 <name>ActionScript 3</name>
4 <alias>as3</alias>
5 <alias>actionscript3</alias>
6 <filename>*.as</filename>
7 <mime_type>application/x-actionscript3</mime_type>
8 <mime_type>text/x-actionscript3</mime_type>
9 <mime_type>text/actionscript3</mime_type>
10 <dot_all>true</dot_all>
11 </config>
12 <rules>
13 <state name="funcparams">
14 <rule pattern="\s+">
15 <token type="Text"/>
16 </rule>
17 <rule pattern="(\s*)(\.\.\.)?([$a-zA-Z_]\w*)(\s*)(:)(\s*)([$a-zA-Z_]\w*(?:\.<\w+>)?|\*)(\s*)">
18 <bygroups>
19 <token type="Text"/>
20 <token type="Punctuation"/>
21 <token type="Name"/>
22 <token type="Text"/>
23 <token type="Operator"/>
24 <token type="Text"/>
25 <token type="KeywordType"/>
26 <token type="Text"/>
27 </bygroups>
28 <push state="defval"/>
29 </rule>
30 <rule pattern="\)">
31 <token type="Operator"/>
32 <push state="type"/>
33 </rule>
34 </state>
35 <state name="type">
36 <rule pattern="(\s*)(:)(\s*)([$a-zA-Z_]\w*(?:\.<\w+>)?|\*)">
37 <bygroups>
38 <token type="Text"/>
39 <token type="Operator"/>
40 <token type="Text"/>
41 <token type="KeywordType"/>
42 </bygroups>
43 <pop depth="2"/>
44 </rule>
45 <rule pattern="\s+">
46 <token type="Text"/>
47 <pop depth="2"/>
48 </rule>
49 <rule>
50 <pop depth="2"/>
51 </rule>
52 </state>
53 <state name="defval">
54 <rule pattern="(=)(\s*)([^(),]+)(\s*)(,?)">
55 <bygroups>
56 <token type="Operator"/>
57 <token type="Text"/>
58 <usingself state="root"/>
59 <token type="Text"/>
60 <token type="Operator"/>
61 </bygroups>
62 <pop depth="1"/>
63 </rule>
64 <rule pattern=",">
65 <token type="Operator"/>
66 <pop depth="1"/>
67 </rule>
68 <rule>
69 <pop depth="1"/>
70 </rule>
71 </state>
72 <state name="root">
73 <rule pattern="\s+">
74 <token type="Text"/>
75 </rule>
76 <rule pattern="(function\s+)([$a-zA-Z_]\w*)(\s*)(\()">
77 <bygroups>
78 <token type="KeywordDeclaration"/>
79 <token type="NameFunction"/>
80 <token type="Text"/>
81 <token type="Operator"/>
82 </bygroups>
83 <push state="funcparams"/>
84 </rule>
85 <rule pattern="(var|const)(\s+)([$a-zA-Z_]\w*)(\s*)(:)(\s*)([$a-zA-Z_]\w*(?:\.<\w+>)?)">
86 <bygroups>
87 <token type="KeywordDeclaration"/>
88 <token type="Text"/>
89 <token type="Name"/>
90 <token type="Text"/>
91 <token type="Punctuation"/>
92 <token type="Text"/>
93 <token type="KeywordType"/>
94 </bygroups>
95 </rule>
96 <rule pattern="(import|package)(\s+)((?:[$a-zA-Z_]\w*|\.)+)(\s*)">
97 <bygroups>
98 <token type="Keyword"/>
99 <token type="Text"/>
100 <token type="NameNamespace"/>
101 <token type="Text"/>
102 </bygroups>
103 </rule>
104 <rule pattern="(new)(\s+)([$a-zA-Z_]\w*(?:\.<\w+>)?)(\s*)(\()">
105 <bygroups>
106 <token type="Keyword"/>
107 <token type="Text"/>
108 <token type="KeywordType"/>
109 <token type="Text"/>
110 <token type="Operator"/>
111 </bygroups>
112 </rule>
113 <rule pattern="//.*?\n">
114 <token type="CommentSingle"/>
115 </rule>
116 <rule pattern="/\*.*?\*/">
117 <token type="CommentMultiline"/>
118 </rule>
119 <rule pattern="/(\\\\|\\/|[^\n])*/[gisx]*">
120 <token type="LiteralStringRegex"/>
121 </rule>
122 <rule pattern="(\.)([$a-zA-Z_]\w*)">
123 <bygroups>
124 <token type="Operator"/>
125 <token type="NameAttribute"/>
126 </bygroups>
127 </rule>
128 <rule pattern="(case|default|for|each|in|while|do|break|return|continue|if|else|throw|try|catch|with|new|typeof|arguments|instanceof|this|switch|import|include|as|is)\b">
129 <token type="Keyword"/>
130 </rule>
131 <rule pattern="(class|public|final|internal|native|override|private|protected|static|import|extends|implements|interface|intrinsic|return|super|dynamic|function|const|get|namespace|package|set)\b">
132 <token type="KeywordDeclaration"/>
133 </rule>
134 <rule pattern="(true|false|null|NaN|Infinity|-Infinity|undefined|void)\b">
135 <token type="KeywordConstant"/>
136 </rule>
137 <rule pattern="(decodeURI|decodeURIComponent|encodeURI|escape|eval|isFinite|isNaN|isXMLName|clearInterval|fscommand|getTimer|getURL|getVersion|isFinite|parseFloat|parseInt|setInterval|trace|updateAfterEvent|unescape)\b">
138 <token type="NameFunction"/>
139 </rule>
140 <rule pattern="[$a-zA-Z_]\w*">
141 <token type="Name"/>
142 </rule>
143 <rule pattern="[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?">
144 <token type="LiteralNumberFloat"/>
145 </rule>
146 <rule pattern="0x[0-9a-f]+">
147 <token type="LiteralNumberHex"/>
148 </rule>
149 <rule pattern="[0-9]+">
150 <token type="LiteralNumberInteger"/>
151 </rule>
152 <rule pattern=""(\\\\|\\"|[^"])*"">
153 <token type="LiteralStringDouble"/>
154 </rule>
155 <rule pattern="'(\\\\|\\'|[^'])*'">
156 <token type="LiteralStringSingle"/>
157 </rule>
158 <rule pattern="[~^*!%&<>|+=:;,/?\\{}\[\]().-]+">
159 <token type="Operator"/>
160 </rule>
161 </state>
162 </rules>
163</lexer>
View as plain text