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