[M3devel] Pretty-printing REFANYs?
Mika Nystrom
mika at async.caltech.edu
Wed Oct 1 20:09:58 CEST 2008
Oh, I'd love to give it a try!
I'm a little surprised no one has chimed in on the question of
whether you really need .M3WEB... I could swear I can get good
symbolic debugging with m3gdb on just a binary...
Mika
Darko writes:
>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