|Embeddable Parser for binary data? stidolph@leland.Stanford.EDU (1994-03-25)|
|Re: Embeddable Parser for binary data? email@example.com (Patrick Herring) (1994-03-26)|
|From:||Patrick Herring <firstname.lastname@example.org>|
|Date:||Sat, 26 Mar 1994 10:53:04 GMT|
>I'm tasked to build a browser of binary data: the data (bus dumps) is
>to be shown to human users in meaningful forms.
>I propose the program read in the data block, read some headers in the
>data, and then decide which "format file" is appropriate. The program
>would then read in the "format file" and convert the data into strings
>for presentation. In essence, I need an interpreter where the "format
>file" is the program being interpreted, acting on the data block.
Many Prolog implementations have a DCG notation built in. (DCG = BNF +
arguments). You can write a useable parser/actioner in that, and Prolog
will let you assert (& retract) new grammar rules at run-time. It'll
probably be a tad sluggish mind ...
Alternatively use the parse command in Rexx (which comes with OS/2). This
can match patterns on a left-to-right basis, putting strings into
variables etc eg
Block = '303132003334353600'x
Format = "Prefix '00'x Body '00'x"
interpret 'parse var Block' Format
say 'P' Prefix 'B' Body /* gives P 012 B 3456 */
If you've structures like matching brackets you'll have to do something
Use Watcom's VX-Rexx (aka VisualRexx) and you don't even have to touch C -
not sure whether VX-Rexx covers your graphics requirements but I think
there's a C API.
Return to the
Search the comp.compilers archives again.