) 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.