1
2#------------------------------------------------------------------------------
3# $File: mathematica,v 1.11 2021/02/23 00:51:10 christos Exp $
4# mathematica:  file(1) magic for mathematica files
5# "H. Nanosecond" <aldomel@ix.netcom.com>
6# Mathematica a multi-purpose math program
7# versions 2.2 and 3.0
8
9#mathematica .mb
100	string	\064\024\012\000\035\000\000\000	Mathematica version 2 notebook
11!:ext mb
120	string	\064\024\011\000\035\000\000\000	Mathematica version 2 notebook
13!:ext mb
14
15# .ma
16# multiple possibilities:
17
180	string	(*^\n\n::[\011frontEndVersion\ =\ 	Mathematica notebook
19#>41	string	>\0	%s
20!:ext mb
21
22#0	string	(*^\n\n::[\011palette	Mathematica notebook version 2.x
23
24#0	string	(*^\n\n::[\011Information	Mathematica notebook version 2.x
25#>675	string	>\0	%s #doesn't work well
26
27# there may be 'cr' instead of 'nl' in some does this matter?
28
29# generic:
300	string	(*^\r\r::[\011	Mathematica notebook version 2.x
31!:ext mb
320	string	(*^\r\n\r\n::[\011	Mathematica notebook version 2.x
33!:ext mb
340	string	(*^\015			Mathematica notebook version 2.x
35!:ext mb
360	string	(*^\n\r\n\r::[\011	Mathematica notebook version 2.x
37!:ext mb
380	string	(*^\r::[\011	Mathematica notebook version 2.x
39!:ext mb
400	string	(*^\r\n::[\011	Mathematica notebook version 2.x
41!:ext mb
420	string	(*^\n\n::[\011	Mathematica notebook version 2.x
43!:ext mb
440	string	(*^\n::[\011	Mathematica notebook version 2.x
45!:ext mb
46
47
48# Mathematica .mx files
49
50#0	string	(*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*)	Mathematica binary file
510	string	(*This\ is\ a\ Mathematica\ binary\ 	Mathematica binary file
52#>71	string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000
53# >71... is optional
54>88	string	>\0	from %s
55
56
57# Mathematica files PBF:
58# 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000
590	string	MMAPBF\000\001\000\000\000\203\000\001\000	Mathematica PBF (fonts I think)
60
61# .ml files  These are menu resources I think
62# these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\
63# how to put that into a magic rule?
644	string	\ A~	MAthematica .ml file
65
66# .nb files
67#too long 0	string	(***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook	Mathematica 3.0 notebook
680	string	(***********************	Mathematica 3.0 notebook
69
70# other (* matches it is a comment start in these langs
71# GRR: Too weak; also matches other languages e.g. ML
72#0	string	(*	Mathematica, or Pascal, Modula-2 or 3 code text
73
74#########################
75# MatLab v5
760       string  MATLAB  Matlab v5 mat-file
77>126    short   0x494d  (big endian)
78>>124   beshort x       version 0x%04x
79>126    short   0x4d49  (little endian)
80>>124   leshort x       version 0x%04x
81
82