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