) creative thinking. 
"...As for PL/E, the syntactically closest open source compiler I  
can think of is Ada.  Do you think the PL/E tool development  
effort should start from scratch, or do you think it should  
modify an existing tool?" 
Apparently we have a failure to communicate here.  We don't  
need an open source compiler in order to create one.  We can  
in fact use PL/I, which is far closer to PL/E than ADA, to  
create an open source PL/E, i.e. SL/I.  I outlined the approach  
when I described my efforts underway to write a LPEX  
equivalent as a PM application using PL/I.  Bob Blair has  
expressed an interest in writing the data repository/directory  
component as it supports his firm belief in "literate  
programming".  I have at least one other volunteer to take the  
LPEX equivalent with its colorized syntax analysis to the next  
step of semantic analysis and then to the proof process.  The  
proof process includes the global source organization along  
with the code generation. 
Now along the way we ought to have some reassurance that  
it will all work as prescribed.  One stickler, about which  
neither you nor I have any doubts, lies in the ability to  
produce HLL source from symbolic assembly resulting from  
disassembly of an executable.  We might in fact consider  
writing such a disassembler in PL/I that creates PL/E  
machine-dependent specifications that we can then translate  
into machine-independent PL/I specifications. 
That means that we have a process for decomposing an  
executable into its data and program segments replete with  
addressability between them.  Then we need a process to  
decompose the data and program segments into their  
individual data types and instructions respectively.  Then we  
need to decompose the instructions into a set of sequences as  
defined by the control flow dictated by the instructions  
offering a non-NSI (Next Sequential Instruction) option.  These  
sequences will determine the control structure type  
(sequence, iteration, decision) involved.  These essentially set  
the source skeleton which we then will flesh out through the  
pure NSI instructions. 
The question remains how best to present this process to the  
Programming SIG.  We need to understand the context of an  
executable, how to determine its data and program segments.   
We need to understand the architecture as reflected in the  
instruction set.  We need to provide a mapping between the  
symbolic form of the instruction set and its equivalent PL/E  
source.  Then we need to show the process of going from a  
machine-dependent HLL to a machine-independent one within  
the same HLL. 
Taking these steps along their understanding and acceptance  
by Programming SIG participants should go a long way toward  
assuring the viability of the entire project. 
===================================================== 
To unsubscribe from this list, send an email message 
to "steward@scoug.com". In the body of the message, 
put the command "unsubscribe scoug-programming". 
For problems, contact the list owner at 
"rollin@scoug.com". 
=====================================================
<< Previous Message << 
Return to [ 22 | 
April | 
2004 ]
The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA  92799-6904, USA
Copyright 2001 the Southern California OS/2 User Group.  ALL RIGHTS 
RESERVED. 
SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International 
Business Machines Corporation.
All other trademarks remain the property of their respective owners.