[M3devel] Pretty-printing REFANYs?
Darko
darko at darko.org
Wed Oct 1 12:03:15 CEST 2008
I've extended one of the modules with a function that formats any
allocated value for printing. If you're interested I can clean them up
a little and post them.
On 28/09/2008, at 8:01 AM, Darko wrote:
> As far as I know, yes, they're not in the binary. I'd love to be
> proven wrong though, or fix it so they did. I have a module that
> reads the .M3WEB file and maps it to types and a module that will
> read and write any field within a type safely using a numeric index.
> Neither is perfect. You can integrate the two to get what you want
> but I seem to remember having some problems mapping type ids (UIDs?)
> to typecodes at runtime.
>
>
> On 28/09/2008, at 7:49 AM, Mika Nystrom wrote:
>
>> Right, I am aware of those interfaces.. just wondering what was
>> out there. Do I really need to look at .M3WEB? I thought
>> that m3gdb could figure out things without anything outside
>> of the binary...
>>
>> I'm looking for essentially what m3gdb offers, say prints
>> at minimum the name of the type (this I recall is trivial with
>> some of the RT* interfaces) but hopefully also with field names
>> and values, but doesn't expand references recursively.. something
>> like that?
>>
>> Mika
>>
>> Darko writes:
>>> You can use RTTipe to read the fields and values within a type. If
>>> you
>>> also want the type and field names you can interpret the .M3WEB
>>> file.
>>> I have a couple of modules that do something like that but they are
>>> not what you would call finished. What level of detail are you
>>> after?
>>>
>>>
>>> On 28/09/2008, at 6:45 AM, Mika Nystrom wrote:
>>>
>>>> Hello Modula-3 people,
>>>>
>>>> I am working on a writing an interpreter that I'd like to embed in
>>>> various Modula-3 programs. It so happens that this interpreter
>>>> might from time to time be manipulating arbitrary M3 REFs, and just
>>>> from the point of view of providing information to a human user,
>>>> it might be nice to be able to pretty-print these. Does anyone
>>>> have any code that accomplishes this, at least partly? I'm
>>>> thinking
>>>> that since m3gdb can do it, the information must all be in the
>>>> binary---somehow. (Even enumeration names, right?) And since the
>>>> pickler can pickle things... hmm.
>>>>
>>>> I would greatly appreciate any guidance that's out there...
>>>>
>>>> Best regards,
>>>> Mika Nystrom
>
More information about the M3devel
mailing list