xref: /freebsd/contrib/file/magic/Magdir/bytecode (revision c491c2db2f37399eba7a356c4bfa298d64012101)
1
2#------------------------------------------------------------
3# $File: bytecode,v 1.6 2026/02/16 14:39:53 christos Exp $
4# magic for various bytecodes
5
6# From: Mikhail Gusarov <dottedmag@dottedmag.net>
7# NekoVM (https://nekovm.org/) bytecode
80	string		NEKO	NekoVM bytecode
9>4	lelong		x	(%d global symbols,
10>8	lelong		x	%d global fields,
11>12	lelong		x	%d bytecode ops)
12!:mime	application/x-nekovm-bytecode
13
14# https://www.iana.org/assignments/media-types/application/vnd.resilient.logic
15# From: Benedikt Muessig <benedikt@resilient-group.de>
160	belong		0x07524c4d	Resilient Logic bytecode
17!:mime	application/vnd.resilient.logic
18>4	byte/16		x	\b, version %d
19>4	byte&0x0f	x	\b.%d
20
21# Guile file magic from <dalepsmith@gmail.com>
22# https://www.gnu.org/s/guile/
23# https://git.savannah.gnu.org/gitweb/?p=guile.git;f=libguile/_scm.h;hb=HEAD#l250
24
250	string	GOOF----	Guile Object
26>8	string	LE		\b, little endian
27>8	string	BE		\b, big endian
28>11	string	4		\b, 32bit
29>11	string	8		\b, 64bit
30>13	regex	.\\..		\b, bytecode v%s
31
32# Racket file magic
33# From: Haelwenn (lanodan) Monnier <contact+libmagic@hacktivis.me>
34# https://racket-lang.org/
35# https://github.com/racket/racket/blob/master/racket/src/expander/compile/write-linklet.rkt
360	string	#~
37>&0	pstring x
38>>&0	pstring racket
39>>>0	string	#~	Racket bytecode
40>>>>&0	pstring x	(version %s)
41
42
43# From: Marc Chantreux <mc@unistra.fr>
44# [MoarVM](https://www.moarvm.org/) bytecode file
450	string	MOARVM\x0d\x0a	MoarVM bytecode
46!:ext	mbc
47>0x9	short	>0	\b, version %u
48
49