A first live test of about 700 lines of actual converted code on both VMS and unix proved successful, confirming the viability of the single-source approach for the development of non-VM versions of LISTSERV. In the last few days, a subset of the P-REXX library has been implemented on VMS and unix in order to be able to run a first "live" test of translated LISTSERV code under both the VAX PASCAL and p2c environments. The RFC822 parser was selected for this purpose, because it is fairly large but does not do any I/O or call system interface routines. It uses many of the string manipulation functions, including the stem routines, but is otherwise self-contained. These string manipulation functions have been implemented in C with pre-processor macros generating the bindings required by VAX PASCAL, VS PASCAL or p2c-generated C code, as desired. In other words, we have the following picture: VMS: - LSW822IN PASCAL on VM -> LSW822IN.VMSPAS -> object code, and same for a couple other PASCAL source files. - P-REXX C implementation source files (*.C/*.H) + VMS.C -> library object code. unix: - LSW822IN PASCAL on VM -> LSW822IN.UNIXPAS -> lsw822in.c -> lsw822in.o and so on. - P-REXX C implementation source files (*.C/*.H) + UNIX.C -> library object code. The C files contain conditional compilation directives and so do some of the PASCAL include files on VM (mostly to put everyone in agreement on the various types and structures manipulated by the library). However, none of the intermediate files (LSW822IN.VMSPAS, LSW822IN.UNIXPAS and lsw822in.c) is ever altered. They are treated as intermediate compilation files, just like the C pre-processor's output. I pulled a random IETF message from my mailbox and fed it to the header parser through a main program that displays a formatted version of the parser output. I am enclosing a copy of the output from both systems. While this is a very positive result, it should be noted that I have not yet delved into system-specific calls. It would be premature to claim that all problems have been solved. This was a sizeable amount of real code, with several levels of subroutines and memory allocation, but we are still not attempting to read files or send mail to people. Not that the theoretical problems haven't been carefully reviewed and solved (in theory), but there are a lot of practical problems that one may not see until the very last moment. For instance, until yesterday I thought that all half-decent C compilers were ANSI compliant nowadays, and was very surprised to see that the standard Sun cc isn't. Of course gcc is readily available so I didn't have to idiotify 1000 lines of code, but it goes to show that no matter how much planning you do, there will always be something unexpected blocking the road. Eric sunic.sunet.se> a.out PASCAL_MAIN init_VM Return code from LSW822IN: 0 >TAG Date: Tue, 21 Sep 93 12:54:42 EDT< >TAG Return-Path: <@SEARN.SUNET.SE:[log in to unmask]>< >TAG Received: from SEARN (NJE origin SMTP@SEARN) by SEARN.SUNET.SE (LMail V1.2a/1.8a) with BSMTP id 0593; Wed, 22 Sep 1993 02:16:08 +0200< >TAG Received: from sunic.sunet.se by SEARN.SUNET.SE (IBM VM SMTP V2R2) with TCP; Wed, 22 Sep 93 02:16:06 +0200< >TAG Received: from nic.nordu.net by sunic.sunet.se (5.65c8-/1.49) id AA26772; Wed, 22 Sep 1993 02:18:26 +0200< >TAG Received: from ietf.cnri.reston.va.us by nic.nordu.net (5.61-bind 1.5+ida/6.0) id AA01469; Wed, 22 Sep 93 02:18:09 +0200< >TAG Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa10789; 21 Sep 93 18:05 EDT< >TAG Received: from CNRI.RESTON.VA.US by IETF.CNRI.Reston.VA.US id aa10756; 21 Sep 93 18:04 EDT< >TAG Received: from vela.acs.oakland.edu by CNRI.Reston.VA.US id aa03897; 21 Sep 93 18:04 EDT< >TAG Received: from via.dsf5.merit.edu ([35.214.49.9]) by vela.acs.oakland.edu with SMTP id AA14783 (5.65c+/IDA-1.4.4); Tue, 21 Sep 1993 18:03:41 -0400< >TAG Sender: [log in to unmask]< >TAG From: William Allen Simpson <[log in to unmask]>< >TAG Message-Id: <[log in to unmask]>< >TAG To: [log in to unmask]< >TAG Reply-To: [log in to unmask]< >TAG Subject: Re: Interest in Accounting Working Group< >SUBJECT Re: Interest in Accounting Working Group< >REPLYTO bsimpson morningstar.com< >MSGID <[log in to unmask]>< >OMSGID <[log in to unmask]>< >TO ietf CNRI.Reston.VA.US< >FROM bill.simpson um.cc.umich.edu William Allen Simpson< >SENDER ietf-request IETF.CNRI.Reston.VA.US< >OFROM bill.simpson um.cc.umich.edu William Allen Simpson< >ORIGIN ietf-request IETF.CNRI.Reston.VA.US< >< ------------------------------------------------------------------------- SEJNET> r o Return code from LSW822IN: 0 >TAG Date: Tue, 21 Sep 93 12:54:42 EDT< >TAG Return-Path: <@SEARN.SUNET.SE:[log in to unmask]>< >TAG Received: from SEARN (NJE origin SMTP@SEARN) by SEARN.SUNET.SE (LMail V1.2a /1.8a) with BSMTP id 0593; Wed, 22 Sep 1993 02:16:08 +0200< >TAG Received: from sunic.sunet.se by SEARN.SUNET.SE (IBM VM SMTP V2R2) with TCP ; Wed, 22 Sep 93 02:16:06 +0200< >TAG Received: from nic.nordu.net by sunic.sunet.se (5.65c8-/1.49) id AA26772; W ed, 22 Sep 1993 02:18:26 +0200< >TAG Received: from ietf.cnri.reston.va.us by nic.nordu.net (5.61-bind 1.5+ida/6 .0) id AA01469; Wed, 22 Sep 93 02:18:09 +0200< >TAG Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa10789; 21 Sep 93 18:05 EDT< >TAG Received: from CNRI.RESTON.VA.US by IETF.CNRI.Reston.VA.US id aa10756; 21 S ep 93 18:04 EDT< >TAG Received: from vela.acs.oakland.edu by CNRI.Reston.VA.US id aa03897; 21 Sep 93 18:04 EDT< >TAG Received: from via.dsf5.merit.edu ([35.214.49.9]) by vela.acs.oakland.edu w ith SMTP id AA14783 (5.65c+/IDA-1.4.4); Tue, 21 Sep 1993 18:03:41 -0400< >TAG Sender: [log in to unmask]< >TAG From: William Allen Simpson <[log in to unmask]>< >TAG Message-Id: <[log in to unmask]>< >TAG To: [log in to unmask]< >TAG Reply-To: [log in to unmask]< >TAG Subject: Re: Interest in Accounting Working Group< >SUBJECT Re: Interest in Accounting Working Group< >REPLYTO bsimpson morningstar.com< >MSGID <[log in to unmask]>< >OMSGID <[log in to unmask]>< >TO ietf CNRI.Reston.VA.US< >FROM bill.simpson um.cc.umich.edu William Allen Simpson< >SENDER ietf-request IETF.CNRI.Reston.VA.US< >OFROM bill.simpson um.cc.umich.edu William Allen Simpson< >ORIGIN ietf-request IETF.CNRI.Reston.VA.US< ><