× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I'm new to this list so I hope that it is okay to disagree.  If not please
tell me, I know how to be quiet too.

Compiler writers use lots of tools and have for years.  Here is a core
conceptual set-I haven't written any compilers for the S38/AS400 for about
13 years.

1. lex - creates lexical analyzers.  Originally a UNIX tool, first appeared
in the 70's.  Lex reads a definition that uses regular expressions to define
tokens and creates a program in the form of a finite state machine.  When
called, the generated program returns tokens to a parser.  There are many
derivatives.  Hand written lexical analyzers that recognize many token types
are ugly and tend to have bugs.  I have written several for the 38 and one
for the 400.

2. YACC - "yet another compiler compiler".  Also a UNIX tool also from the
70's.  Reads a language definition and creates a parser.  The parser calls
Lex for tokens and builds parse trees.  Since I didn't have YACC, I had to
write parsers myself.  Not fun.

3. The generated languages themselves.  A lot of ILE C is written in ILE C.
The one formal language that I created has 9 (actually 11) bootstrap phases
starting from MI.  Two of the phases created language features that didn't
perform well and I decided that I didn't need high-speed recursive function
calls and whatever phase 11 did (I forget).

Language creators (compiler writers) use tools with wild abandon.  Since
their life is generating code, they are very good at creating tools to
create code.

I will spare you the stories of Jennifer Hamilton (IBM Toronto) carrying
around a laptop with the ILE C compiler on it that she constantly improved.
The laptop ran UNIX.

Richard Jackson
mailto:richardjackson@richardjackson.net
www.richardjacksonltd.com
Voice: 1 (303) 808-8058
Fax:   1 (303) 663-4325

-----Original Message-----
From: owner-midrange-l@midrange.com
[mailto:owner-midrange-l@midrange.com]On Behalf Of James W. Kilgore
Sent: Saturday, July 01, 2000 1:46 AM
To: MIDRANGE-L@midrange.com
Subject: Re: DDS Support


Mark,

A while back I was engaged in a thread about the number of lines of code
a programmer could write in a year.  In all fairness the comparison was
an apples to oranges code purpose thing, but I did raise this same
issue.  Tool writing.  If you are primarily engaged in maintenance
instead of new development the tools needed would differ.  But in either
case, the tools make the job easier and quicker.  If you are writing
compilers, sorry, that's a whole bunch harder than applications and
there is very little that can be tooled.  Each piece is a custom job.

As you noticed, "Programs -are- data" is not the normal view of
programs.  That's what made the statement so profound.  I had to chew on
the concept for a few days until it finally hit me.  It radically
changed my career.

What we did was create a pseudo code to RPG translator and our own data
dictionary.  Our primary business has always been new development.  Our
tool added standards and consistency which made all other development
easier and quicker.  We more than recovered the time spent in developing
the tools.

I'm reminded of a story I was told (now I'm not very good at telling
stories) but there was a lumberjack cutting down trees.  He was working
very hard from sun up till sun down.  A person observed him and noticed
that he could ease his work if he sharpened his saw.  He mentioned this
to the lumberjack who retorted: "I don't have time to sharpen my saw, I
have a deadline to meet."

Take the time to sharpen the saw.  You'll meet the deadline and ease the
burden in the process.

"M. Lazarus" wrote:
>
> BTW, while the quote you mentioned is an interesting view of
> programs, it must be anecdotal, since the common usage of programs
> does not fall into the description of "Programs -are- data."
>
>  -mark
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---

+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.