SCOUG-Programming Mailing List Archives
Return to [ 14 |
March |
2006 ]
>> Next Message >>
Content Type: text/plain
Gregory W. Smith wrote:
> Lynn Maxson wrote:
> > Greg,
> >
> > Patience, patience, patience.
> >
> > If you do decided at least to start this journey, I do expect
> > you to restrain from unnecessary "Are we there yet?"
> > interruptions. We will get there. Along the way as we
> > introduce the systemic changes, the little things that mean a
> > lot, you will answer your own questions, my son.
>
> "Are we there yet?" What???? I don't have a clue about where
> the keys to the car are. And are we taking the Pinto, the Gremlin,
> or the Pacer for this magnificent road trip to Honolulu?
>
OK everybody, we have the roadmap and I have found some keys. Let's
all pile into the Vega and start our road trip to Honolulu. So if
you haven't yet had a chance, go get the source for version 1.4 from
Open Watcom.
First off, when we unpack the source we see:
Volume in drive C has no label.
Volume Serial Number is 148C-99A8
Directory of C:\Documents and Settings\Owner\My Documents\OpenWatcom\Source
02/25/2006 09:31 PM .
02/25/2006 09:31 PM ..
01/03/2006 11:53 AM bat
01/03/2006 11:53 AM bin
01/03/2006 11:53 AM binp
01/03/2006 11:55 AM bld
01/03/2006 11:55 AM 414 boot.sh
01/03/2006 11:55 AM 297 bootclean.sh
01/03/2006 11:55 AM 565 build.sh
01/03/2006 11:55 AM 249 clean.sh
01/03/2006 11:55 AM contrib
01/03/2006 11:55 AM distrib
01/03/2006 11:55 AM docs
01/03/2006 11:55 AM 21,128 license.txt
01/03/2006 11:55 AM 4,659 projects.txt
01/03/2006 11:55 AM 7,049 readme.txt
01/03/2006 11:55 AM 2,395 setvars.bat
01/03/2006 11:55 AM 2,357 setvars.cmd
01/03/2006 11:55 AM 2,269 setvars.dos
01/03/2006 11:55 AM 2,261 setvars.sh
11 File(s) 43,643 bytes
9 Dir(s) 12,415,426,560 bytes free
The total amount of code runs to about 240 Meg, and over 150 Meg of
code is in the 'bld' directory. When we look in the 'bld' directory,
we see nearly 100 sub-directories. And each one of these directories
is further organized with additional subdirectories.
This is an important hint-- the compiler was developed as a Project.
And the directory structure shows the WBS (Work Breakdown Structure)
for the compiler project. The top level directories in 'bld' correspond
to major tasks. Going down the dirctory tree we find subtasks of the
major tasks.
The overall project is to develop a compiler. If we look in the 'bld'
directory we see the tasks that go into developing a compiler. From a
few snippits of the 'bld' directory we have:
Volume in drive C has no label.
Volume Serial Number is 148C-99A8
Directory of C:\Documents and Settings\Owner\My Documents\OpenWatcom\Source\bld
01/03/2006 11:55 AM .
01/03/2006 11:55 AM ..
01/03/2006 11:53 AM as
01/03/2006 11:53 AM aui
01/03/2006 11:53 AM bdiff
01/03/2006 11:53 AM cc
01/03/2006 11:53 AM cfloat
01/03/2006 11:53 AM cg
01/03/2006 11:54 AM clib
01/03/2006 11:54 AM f77
01/03/2006 11:54 AM mathlib
01/03/2006 11:54 AM misc
01/03/2006 11:54 AM mstools
01/03/2006 11:55 AM trmem
01/03/2006 11:55 AM ui
01/03/2006 11:55 AM uiforms
01/03/2006 11:55 AM version
01/03/2006 11:55 AM vi
01/03/2006 11:55 AM viper
01/03/2006 11:55 AM wv
01/03/2006 11:55 AM yacc
3 File(s) 11,144 bytes
99 Dir(s) 11,718,754,304 bytes free
This abbreviated list shows SOME of the tasks that were used to develop
the Watcom compiler. One task requires development of the math libraries
in the 'mathlib' directory. Another task involves the fortran portion of
the compiler in the 'f77' directory. Still another task focuses on the C
compiler portion of the project in the 'cc' directory.
Of course, since the file system is used to organize the tasks, we are
left to guess the details of the tasks by the name given to the directory.
Some names are obvious such as 'f77' and 'yacc' while other names are
more obsucre such as 'wv'.
But we have our roadmap and we know that our starting point is the
'vi' editor. And suprise, surprise.... The directory 'bld\vi\' is
the starting point in our journey. The bulk of the source code is
in 'bld\vi\c\' with the header files in 'bld\vi\h'. The tasks for
the editor are mainly divided up in the various C source files.
However, some tasks are laid out in different directories. Code
that is specific to OS/2 is in the directories 'bld\vi\os2\',
'bld\vi\os2386\', and 'bld\vi\os2i86\'.
So we will start with 'bld\vi\os2\os2main.c' where we have the
main routine that a) initializes memory, b) processes the command
line arguments, c) processes the environment variables, d) calls
the routine InitializeEditor(), and e) starts the main loop of the
editor by calling EditMain().
Well, we will continue our journey later when we look into the
routine InitializeEditor() in the file 'bld/vi/c/init.c' and the
routine EditMain() in the file 'bld/vi/c/editmain.c'. Don't
forget that we are still in the chaparral even if it has turned
a bit more green with the recent rains. Don't be discouraged,
Uncle Lynn has the travel brochure so he will continue to tell
us about the lush, verdant landscape we will see when our roadtrip
pulls into Honolulu. And our trusty Vega will turn into a Corvette
when we get there.
--
Gregory W. Smith (WD9GAY) gsmith@well.com
=====================================================
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
"postmaster@scoug.com".
=====================================================
>> Next Message >>
Return to [ 14 |
March |
2006 ]
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.
|