1<lexer>
2 <config>
3 <name>Mathematica</name>
4 <alias>mathematica</alias>
5 <alias>mma</alias>
6 <alias>nb</alias>
7 <filename>*.cdf</filename>
8 <filename>*.m</filename>
9 <filename>*.ma</filename>
10 <filename>*.mt</filename>
11 <filename>*.mx</filename>
12 <filename>*.nb</filename>
13 <filename>*.nbp</filename>
14 <filename>*.wl</filename>
15 <mime_type>application/mathematica</mime_type>
16 <mime_type>application/vnd.wolfram.mathematica</mime_type>
17 <mime_type>application/vnd.wolfram.mathematica.package</mime_type>
18 <mime_type>application/vnd.wolfram.cdf</mime_type>
19 </config>
20 <rules>
21 <state name="root">
22 <rule pattern="(?s)\(\*.*?\*\)">
23 <token type="Comment"/>
24 </rule>
25 <rule pattern="([a-zA-Z]+[A-Za-z0-9]*`)">
26 <token type="NameNamespace"/>
27 </rule>
28 <rule pattern="([A-Za-z0-9]*_+[A-Za-z0-9]*)">
29 <token type="NameVariable"/>
30 </rule>
31 <rule pattern="#\d*">
32 <token type="NameVariable"/>
33 </rule>
34 <rule pattern="([a-zA-Z]+[a-zA-Z0-9]*)">
35 <token type="Name"/>
36 </rule>
37 <rule pattern="-?\d+\.\d*">
38 <token type="LiteralNumberFloat"/>
39 </rule>
40 <rule pattern="-?\d*\.\d+">
41 <token type="LiteralNumberFloat"/>
42 </rule>
43 <rule pattern="-?\d+">
44 <token type="LiteralNumberInteger"/>
45 </rule>
46 <rule pattern="(!===|@@@|===|/;|:=|->|:>|/\.|=\.|~~|<=|@@|/@|&&|\|\||//|<>|;;|>=|-|@|!|\^|/|\*|\?|\+|&|<|>|=|\|)">
47 <token type="Operator"/>
48 </rule>
49 <rule pattern="(,|;|\(|\)|\[|\]|\{|\})">
50 <token type="Punctuation"/>
51 </rule>
52 <rule pattern="".*?"">
53 <token type="LiteralString"/>
54 </rule>
55 <rule pattern="\s+">
56 <token type="TextWhitespace"/>
57 </rule>
58 </state>
59 </rules>
60</lexer>