[Info-vax] VAX Macro to C conversion
Bill Gunshannon
bill.gunshannon at gmail.com
Sat Jul 13 00:30:10 EDT 2019
On 6/24/19 7:59 PM, Stephen Hoffman wrote:
> On 2019-06-24 23:43:45 +0000, Andrew Shaw said:
>
>> ...This is also true and for this I am going to have to do some deeper
>> analysis of the code (as has been pointed out by others in here) in
>> order to understand the subtleties of what is going on - hopefully get
>> an understanding of why it was written in MACRO in the first place.
>> Our system is a curious mix of languages - MACRO-32, C, FORTRAN and
>> RATFOR forms the bulk of the system code...
>
> The use of RATFOR here implies this is an older code-base and/or
> long-established developers, but that combination of languages is
> otherwise not particularly unusual.
You thought RATFOR meant an older codebase than FORTRAN? :-)
>
> It's fairly common to find that much of the existing Macro32 code can be
> replaced with rather less C or C++ code, and/or by making calls to
> now-available system service calls or features. Or a combination.
>
> There's a lot of Macro32 around that largely exists for historical
> reasons and organizational inertia. "It works" is a strong contributor
> toward "doing nothing".
>
> More than a little of the Macro32 was implemented as workarounds for
> features or APIs that were then-missing, or for APIs that were not
> easily callable.
>
> Where folks get in trouble with Macro32 is when Macro32 was used for the
> last few crumbs of system performance and/or of memory usage. Or when
> the developers were too clever. Or a combination.
>
> Whether separately or as a prolog to the source code conversions, I'd
> look at adding instrumentation and debugging into the app, and at
> enabling and cranking up the now-available compiler diagnostics. If
> you've VAX C code lurking, switch that all over to C99.
>
> Starting a source code conversion with latent bugs and/or insufficient
> test coverage and/or poor telemetry and/or little or no documentation
> (q.v. doxygen) is not fun. (n.b. I'm not aware of a doxygen port for
> OpenVMS, but it does exist for most other platforms.)
>
Do any of the VMS C Compilers have the equivalent of -S in most
Unix C Compilers? I would love to see a few simple programs
(starting with "Hello World") written in Macro, converted to C
and then compiled with the option to list the assembler just to
see how they compared. :-)
bill
More information about the Info-vax
mailing list