66
|
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> |