82 lines
2.9 KiB
Text
82 lines
2.9 KiB
Text
|
|
#------------------------------------------------------------------------------
|
|
# $File: forth,v 1.4 2021/04/26 15:56:00 christos Exp $
|
|
# forth: file(1) magic for various Forth environments
|
|
# From: Lubomir Rintel <lkundrak@v3.sk>
|
|
#
|
|
|
|
# Has a FORTH stack diagram and something that looks very much like a FORTH
|
|
# multi-line word definition. Probably a FORTH source.
|
|
0 regex \[[:space:]]\\(([[:space:]].*)?\ --\ (.*[[:space:]])?\\)
|
|
>0 regex \^:\[[:space:]]
|
|
>>0 regex \^;$ FORTH program
|
|
!:mime text/x-forth
|
|
|
|
# Inline word definition complete with a stack diagram
|
|
0 regex \^:[[:space:]].*[[:space:]]\\(([[:space:]].*)?\ --\ (.*[[:space:]])?\\)[[:space:]].*[[:space:]];$ FORTH program
|
|
!:mime text/x-forth
|
|
|
|
# Various dictionary images used by OpenFirware FORTH environment
|
|
|
|
0 lelong 0xe1a00000
|
|
>8 lelong 0xe1a00000
|
|
# skip raspberry pi kernel image kernel7.img by checking for positive text length
|
|
>>24 lelong >0 ARM OpenFirmware FORTH Dictionary,
|
|
>>>24 lelong x Text length: %d bytes,
|
|
>>>28 lelong x Data length: %d bytes,
|
|
>>>32 lelong x Text Relocation Table length: %d bytes,
|
|
>>>36 lelong x Data Relocation Table length: %d bytes,
|
|
>>>40 lelong x Entry Point: %#08X,
|
|
>>>44 lelong x BSS length: %d bytes
|
|
|
|
0 string MP
|
|
>28 lelong 1 x86 OpenFirmware FORTH Dictionary,
|
|
>>4 leshort x %d blocks
|
|
>>2 leshort x + %d bytes,
|
|
>>6 leshort x %d relocations,
|
|
>>8 leshort x Header length: %d paragraphs,
|
|
>>10 leshort x Data Size: %d
|
|
>>12 leshort x - %d 4K pages,
|
|
>>14 lelong x Initial Stack Pointer: %#08X,
|
|
>>20 lelong x Entry Point: %#08X,
|
|
>>24 lelong x First Relocation Item: %d,
|
|
>>26 lelong x Overlay Number: %d,
|
|
>>18 leshort x Checksum: %#08X
|
|
|
|
0 belong 0x48000020 PowerPC OpenFirmware FORTH Dictionary,
|
|
>4 belong x Text length: %d bytes,
|
|
>8 belong x Data length: %d bytes,
|
|
>12 belong x BSS length: %d bytes,
|
|
>16 belong x Symbol Table length: %d bytes,
|
|
>20 belong x Entry Point: %#08X,
|
|
>24 belong x Text Relocation Table length: %d bytes,
|
|
>28 belong x Data Relocation Table length: %d bytes
|
|
|
|
0 lelong 0x10000007 MIPS OpenFirmware FORTH Dictionary,
|
|
>4 lelong x Text length: %d bytes,
|
|
>8 lelong x Data length: %d bytes,
|
|
>12 lelong x BSS length: %d bytes,
|
|
>16 lelong x Symbol Table length: %d bytes,
|
|
>20 lelong x Entry Point: %#08X,
|
|
>24 lelong x Text Relocation Table length: %d bytes,
|
|
>28 lelong x Data Relocation Table length: %d bytes
|
|
|
|
# Dictionary images used by minimal C FORTH environments, any platform,
|
|
# using native byte order.
|
|
|
|
# Weak.
|
|
#0 short 0x5820 cForth 16-bit Dictionary,
|
|
#>2 short x Serial: %#08X,
|
|
#>4 short x Dictionary Start: %#08X,
|
|
#>6 short x Dictionary Size: %d bytes,
|
|
#>8 short x User Area Start: %#08X,
|
|
#>10 short x User Area Size: %d bytes,
|
|
#>12 short x Entry Point: %#08X
|
|
|
|
0 long 0x581120 cForth 32-bit Dictionary,
|
|
>4 long x Serial: %#08X,
|
|
>8 long x Dictionary Start: %#08X,
|
|
>12 long x Dictionary Size: %d bytes,
|
|
>16 long x User Area Start: %#08X,
|
|
>20 long x User Area Size: %d bytes,
|
|
>24 long x Entry Point: %#08X
|