1#------------------------------------------------------------------------------
2# mathematica:  file(1) magic for mathematica files
3# "H. Nanosecond" <aldomel@ix.netcom.com>
4# Mathematica a multi-purpose math program
5# versions 2.2 and 3.0
6
7#mathematica .mb
80	string	\064\024\012\000\035\000\000\000	Mathematica version 2 notebook
90	string	\064\024\011\000\035\000\000\000	Mathematica version 2 notebook
10
11# .ma
12# multiple possibilites:
13
140	string	(*^\n\n::[\011frontEndVersion\ =\ 	Mathematica notebook
15#>41	string	>\0	%s
16
17#0	string	(*^\n\n::[\011palette	Mathematica notebook version 2.x
18
19#0	string	(*^\n\n::[\011Information	Mathematica notebook version 2.x
20#>675	string	>\0	%s #doesn't work well
21
22# there may be 'cr' instread of 'nl' in some does this matter?
23
24# generic:
250	string	(*^\r\r::[\011	Mathematica notebook version 2.x
260	string	(*^\r\n\r\n::[\011	Mathematica notebook version 2.x
270	string	(*^\015			Mathematica notebook version 2.x
280	string	(*^\n\r\n\r::[\011	Mathematica notebook version 2.x
290	string	(*^\r::[\011	Mathematica notebook version 2.x
300	string	(*^\r\n::[\011	Mathematica notebook version 2.x
310	string	(*^\n\n::[\011	Mathematica notebook version 2.x
320	string	(*^\n::[\011	Mathematica notebook version 2.x
33
34
35# Mathematica .mx files
36
37#0	string	(*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*)	Mathematica binary file
380	string	(*This\ is\ a\ Mathematica\ binary\ 	Mathematica binary file
39#>71	string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000
40# >71... is optional
41>88	string	>\0	from %s
42
43
44# Mathematica files PBF:
45# 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000
460	string	MMAPBF\000\001\000\000\000\203\000\001\000	Mathematica PBF (fonts I think)
47
48# .ml files  These are menu resources I think
49# these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\
50# how to put that into a magic rule?
514	string	\ A~	MAthematica .ml file
52
53# .nb files
54#too long 0	string	(***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook	Mathematica 3.0 notebook
550	string	(***********************	Mathematica 3.0 notebook
56
57# other (* matches it is a comment start in these langs
58# GRR: Too weak; also matches other languages e.g. ML
59#0	string	(*	Mathematica, or Pascal, Modula-2 or 3 code text
60
61#########################
62# MatLab v5
630       string  MATLAB  Matlab v5 mat-file
64>126    short   0x494d  (big endian)
65>>124   beshort x       version 0x%04x
66>126    short   0x4d49  (little endian)
67>>124   leshort x       version 0x%04x
68
69