Example of extensive T-Gen use, specifically...?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

Example of extensive T-Gen use, specifically...?

Jan Theodore Galkowski-2
Hi,

I'm trying to quickly learn precisely what dependencies the resulting
scanner and parser classes produced by T-Gen have upon the original
T-Gen package.  The claim is they can be separated from it and work.
The documentation hasn't much detail about how that should be done.

I guess I could really use the Smalltalk source -- fileouts are
fine -- for an application that uses T-Gen, preferably in Dolphin.
Can someone send one to me?  I don't need any other documentation.
I'm just interested in studying an example.  Obviously, it'd be
better to have a Dolphin (4) package but a fileout is fine.

Thanks much, --Jan

--
---------------------------------------------------------------------
 Jan Theodore Galkowski                    [hidden email]
 The Smalltalk Idiom                       [hidden email]
*********************************************************************
             "Smalltalk?  Yes, it's really that slick."
---------------------------------------------------------------------
Want to know more?  Check out
           http://www.dnsmith.com/SmallFAQ/
           http://www.object-arts.com/DolphinWhitePaper.htm
           http://st-www.cs.uiuc.edu/users/johnson/smalltalk/
*********************************************************************


Reply | Threaded
Open this post in threaded view
|

Re: Example of extensive T-Gen use, specifically...?

Udo Schneider
Jan,

take a look at the TGen Package at
http://www.nls.net/mp/jarvis/Bob/DolphinGoodies.htm.

It's a version for DS4.

Regards,

Udo


"Jan Theodore Galkowski" <[hidden email]> schrieb im Newsbeitrag
news:[hidden email]...

> Hi,
>
> I'm trying to quickly learn precisely what dependencies the resulting
> scanner and parser classes produced by T-Gen have upon the original
> T-Gen package.  The claim is they can be separated from it and work.
> The documentation hasn't much detail about how that should be done.
>
> I guess I could really use the Smalltalk source -- fileouts are
> fine -- for an application that uses T-Gen, preferably in Dolphin.
> Can someone send one to me?  I don't need any other documentation.
> I'm just interested in studying an example.  Obviously, it'd be
> better to have a Dolphin (4) package but a fileout is fine.
>
> Thanks much, --Jan
>
> --
> ---------------------------------------------------------------------
>  Jan Theodore Galkowski                    [hidden email]
>  The Smalltalk Idiom                       [hidden email]
> *********************************************************************
>              "Smalltalk?  Yes, it's really that slick."
> ---------------------------------------------------------------------
> Want to know more?  Check out
>            http://www.dnsmith.com/SmallFAQ/
>            http://www.object-arts.com/DolphinWhitePaper.htm
>            http://st-www.cs.uiuc.edu/users/johnson/smalltalk/
> *********************************************************************


Reply | Threaded
Open this post in threaded view
|

Re: Example of extensive T-Gen use, specifically...?

Jan Theodore Galkowski
Udo Schneider wrote:
>
> Jan,
>
> take a look at the TGen Package at
> http://www.nls.net/mp/jarvis/Bob/DolphinGoodies.htm.
>
> It's a version for DS4.


Udo, I have that.  I was hoping for a package or system source
that illustrates its use.

Thanks anyway, -j

[snip]


>
> "Jan Theodore Galkowski" <[hidden email]> schrieb im Newsbeitrag
> news:[hidden email]...
> > Hi,
> >
> > I'm trying to quickly learn precisely what dependencies the resulting
> > scanner and parser classes produced by T-Gen have upon the original
> > T-Gen package.  The claim is they can be separated from it and work.
> > The documentation hasn't much detail about how that should be done.


[snip]

--
-----------------------------------------------------------------------
 Jan Theodore Galkowski        °o°          
[hidden email]      
 http://www.scguild.com/usr/1707I.html              [hidden email]
***********************************************************************
             "Smalltalk?  Yes, it's really that slick."
-----------------------------------------------------------------------
    Check out http://st-www.cs.uiuc.edu/users/johnson/smalltalk/,
              http://www.object-arts.com/DolphinWhitePaper.htm
              http://www.dnsmith.com/SmallFAQ/
***********************************************************************


Reply | Threaded
Open this post in threaded view
|

Re: Example of extensive T-Gen use, specifically...?

Jan Theodore Galkowski
In reply to this post by Jan Theodore Galkowski-2
Jan Theodore Galkowski wrote:
>
> Hi,
>
> I'm trying to quickly learn precisely what dependencies the resulting
> scanner and parser classes produced by T-Gen have upon the original
> T-Gen package.  The claim is they can be separated from it and work.
> The documentation hasn't much detail about how that should be done.

There's a really good set of examples of Justin Graver's T-Gen usage
at

  ftp://st.uiuc.edu/pub/Smalltalk/st80_r41/T-gen2.1

including a Smalltalk-80 front end for a Smalltalk-80 compiler
written using T-Gen.  It's at

 
ftp://st.uiuc.edu/pub/Smalltalk/st80_r41/T-gen2.1/T-gen-SmalltalkCompiler.st

 --Jan

[snip]


--
-----------------------------------------------------------------------
 Jan Theodore Galkowski        °o°          
[hidden email]      
 http://www.scguild.com/usr/1707I.html              [hidden email]
***********************************************************************
             "Smalltalk?  Yes, it's really that slick."
-----------------------------------------------------------------------
    Check out http://st-www.cs.uiuc.edu/users/johnson/smalltalk/,
              http://www.object-arts.com/DolphinWhitePaper.htm
              http://www.dnsmith.com/SmallFAQ/
***********************************************************************


Reply | Threaded
Open this post in threaded view
|

Re: Example of extensive T-Gen use, specifically...?

Richard A. Harmon
On Thu, 01 Nov 2001 11:47:57 -0500, Jan Theodore Galkowski
<[hidden email]> wrote:

>
>Jan Theodore Galkowski wrote:
>> =
>
>> Hi,
>> =
>
>> I'm trying to quickly learn precisely what dependencies the resulting
>> scanner and parser classes produced by T-Gen have upon the original
>> T-Gen package.  The claim is they can be separated from it and work.
>> The documentation hasn't much detail about how that should be done.
>
>There's a really good set of examples of Justin Graver's T-Gen usage
>at
>
>  ftp://st.uiuc.edu/pub/Smalltalk/st80_r41/T-gen2.1
>
>including a Smalltalk-80 front end for a Smalltalk-80 compiler
>written using T-Gen.

I've worked through the examples that are included in the current
Dolphin 4.0 T-gen release available from Bob Jarvis'(s) site.

I have successfully used T-gen to generate a parser for stuff like odd
date formats (example: 'bef Jan, 20 89' for before, or 'abt Jan, 20
89' for about, etc.).  It is a lot less error prone than hand coding a
method.  I generated a parser and scanner for this date format, filed
out the generated parser and scanner classes, and filed them back into
a clean image without the T-gen package and used these classes in a
Date >> #fromString: method.

You might do a lot better if you had someone who know what they are
doing, but I'd be happy to walk you through getting something like
this to work if that is what you are looking for.

I couldn't get the GraphBuilder PTB class example to work (last
example in the doc.).  The author notes after running the example the
graph is built in the reverse order of what is required.  I think the
changes he say must be made are not included in the example.  They are
probably obvious to someone who know what they are doing.

 

>  It's at
>
>ftp://st.uiuc.edu/pub/Smalltalk/st80_r41/T-gen2.1/T-gen-SmalltalkCompiler=
>=2Est
>
> --Jan
>
>[snip]
>
>
>-- =
>
>-----------------------------------------------------------------------
> Jan Theodore Galkowski        =B0o=B0           =
>
>[hidden email]       =
>
> http://www.scguild.com/usr/1707I.html              [hidden email]
>***********************************************************************
>             "Smalltalk?  Yes, it's really that slick."
>-----------------------------------------------------------------------
>    Check out http://st-www.cs.uiuc.edu/users/johnson/smalltalk/,
>              http://www.object-arts.com/DolphinWhitePaper.htm
>              http://www.dnsmith.com/SmallFAQ/
>***********************************************************************

--
Richard A. Harmon          "The only good zombie is a dead zombie"
[hidden email]           E. G. McCarthy


Reply | Threaded
Open this post in threaded view
|

Re: Example of extensive T-Gen use, specifically...?

Jan Theodore Galkowski-2
"Richard A. Harmon" wrote:

>
> On Thu, 01 Nov 2001 11:47:57 -0500, Jan Theodore Galkowski
> <[hidden email]> wrote:
> >
> >Jan Theodore Galkowski wrote:
> >> =
> >
> >> Hi,
> >> =
> >
> >> I'm trying to quickly learn precisely what dependencies the resulting
> >> scanner and parser classes produced by T-Gen have upon the original
> >> T-Gen package.  The claim is they can be separated from it and work.
> >> The documentation hasn't much detail about how that should be done.
> >
> >There's a really good set of examples of Justin Graver's T-Gen usage
> >at
> >
> >  ftp://st.uiuc.edu/pub/Smalltalk/st80_r41/T-gen2.1


[snip]

>
> I couldn't get the GraphBuilder PTB class example to work (last
> example in the doc.).  The author notes after running the example the
> graph is built in the reverse order of what is required.  I think the
> changes he say must be made are not included in the example.  

Actually, Richard, that was precisely my experience.  I concluded that
there was something wrong with my understanding and so I went fishing
for more examples to debug me with.  I think the set I identified
is good grist.  I had no trouble with expressing the patterns or
parsing but, like you it seems, I couldn't follow the example and
get the AST-builders to work properly.

I'm hoping for insight in the new code I have and I'll post something
here if I understand it well enough to explain it succinctly.  

Failing that, I'll put some extensive comments about using T-Gen
in the source and package I'm building for my term project in
Professor Ralph Johnson's CS497 class (via Internet) which will
be publicly available, from my site -- which I hope to put on
the Dolphin Web ring -- and from the UIUC archive.  See

 
http://wiki.cs.uiuc.edu/cs497rej/Flow+and+Dependency+Analysis+of+SQL+in+SQL+Scripts

for the prospectus.

[snip]

--
---------------------------------------------------------------------
 Jan Theodore Galkowski                    [hidden email]
 The Smalltalk Idiom                       [hidden email]
*********************************************************************
             "Smalltalk?  Yes, it's really that slick."
---------------------------------------------------------------------
Want to know more?  Check out
           http://www.dnsmith.com/SmallFAQ/
           http://www.object-arts.com/DolphinWhitePaper.htm
           http://st-www.cs.uiuc.edu/users/johnson/smalltalk/
*********************************************************************


Reply | Threaded
Open this post in threaded view
|

Re: Example of extensive T-Gen use, specifically...?

Richard A. Harmon
On Fri, 02 Nov 2001 04:08:45 GMT, Jan Theodore Galkowski
<[hidden email]> wrote:

>"Richard A. Harmon" wrote:
>>
>> On Thu, 01 Nov 2001 11:47:57 -0500, Jan Theodore Galkowski
>> <[hidden email]> wrote:
>> >
>> >Jan Theodore Galkowski wrote:
>> >> =
>> >
>> >> Hi,
>> >> =
>> >
>> >> I'm trying to quickly learn precisely what dependencies the resulting
>> >> scanner and parser classes produced by T-Gen have upon the original
>> >> T-Gen package.  The claim is they can be separated from it and work.
>> >> The documentation hasn't much detail about how that should be done.
>> >
>> >There's a really good set of examples of Justin Graver's T-Gen usage
>> >at
>> >
>> >  ftp://st.uiuc.edu/pub/Smalltalk/st80_r41/T-gen2.1
>
>
>[snip]
>
>>
>> I couldn't get the GraphBuilder PTB class example to work (last
>> example in the doc.).  The author notes after running the example the
>> graph is built in the reverse order of what is required.  I think the
>> changes he say must be made are not included in the example.  
>
>Actually, Richard, that was precisely my experience.  I concluded that
>there was something wrong with my understanding and so I went fishing
>for more examples to debug me with.  I think the set I identified
>is good grist.  I had no trouble with expressing the patterns or
>parsing but, like you it seems, I couldn't follow the example and
>get the AST-builders to work properly.
>

I posted a request for help on this example to comp.lang.smalltalk in
September but got no response.  The subject was:

        T-gen Doc. Comprehensive Example Single-pass Corrected Step?

>I'm hoping for insight in the new code I have and I'll post something
>here if I understand it well enough to explain it succinctly.

Great.  I think more (and a complete) example(s) would help folks
trying to puzzle out how to use T-gen.

>
>Failing that, I'll put some extensive comments about using T-Gen
>in the source and package I'm building for my term project in
>Professor Ralph Johnson's CS497 class (via Internet) which will
>be publicly available, from my site -- which I hope to put on
>the Dolphin Web ring -- and from the UIUC archive.  See
>
>
>http://wiki.cs.uiuc.edu/cs497rej/Flow+and+Dependency+Analysis+of+SQL+in+SQL+Scripts
>
>for the prospectus.

Looks challenging.  Good luck.  I'll keep an eye on your site.

Over the years there have been a couple of different folks that have
been maintaining T-gen.  From posts on c.l.s it seems that folks that
try to contact the last/current person haven't gotten a response.

A couple vaguely related points are:

I was always uneasy about getting downloads of T-gen for various
dialects--I have four or five now.  I never knew how complete a port
was, nor from which version of which dialect port of T-gen it was
derived.  There doesn't seem to be any way to incorporate known fixes,
enhancements, etc.  It really impacted me as I didn't know if I'd made
a mistake out of ignorance or it was a flaw or limitation of T-gen.

If I found something I was fairly sure was a bug, there was no
common/reference version to fix, and move T-gen forward.

I always thought a Smalltalk Interchange Format (SIF) version would
help eliminate some of these variables as it could be a common
starting point for all dialect specific ports.


I also think the UIUC Smalltalk achieves would be a very useful place
to make code available.  I tried to upload some Dolphin code a couple
of years ago, but couldn't figure out how to get past the "Index Card"
screen when it asked for the dialect, but Dolphin wasn't a choice on
the list.

I tried an email to the page maintainer, and a couple of posts to
others, but never got any response.  So I gave up and just created a
personal web page with my code.

The Dolphin community seem to prefer to make code available on their
personal web page.  Their interest waxes and wanes, and so personal
web pages come and go, and so useful stuff seems to disappear.


>
>[snip]
>
>--
>---------------------------------------------------------------------
> Jan Theodore Galkowski                    [hidden email]
> The Smalltalk Idiom                       [hidden email]
>*********************************************************************
>             "Smalltalk?  Yes, it's really that slick."
>---------------------------------------------------------------------
>Want to know more?  Check out
>           http://www.dnsmith.com/SmallFAQ/
>           http://www.object-arts.com/DolphinWhitePaper.htm
>           http://st-www.cs.uiuc.edu/users/johnson/smalltalk/
>*********************************************************************

--
Richard A. Harmon          "The only good zombie is a dead zombie"
[hidden email]           E. G. McCarthy


Reply | Threaded
Open this post in threaded view
|

Re: Example of extensive T-Gen use, specifically...?

Jan Theodore Galkowski-2
Richard, regarding your latest below,

Sorry I missed your query about T-Gen: We could have figured it out
together.

You're right about dialect dependence and independence on
these things.  I need to start hanging out with the Camp
Smalltalk folks that do this kind of thing all the time.  I wonder,
for instance, if there isn't a kind of core "basic Smalltalk" that
can be used to bootstrap applications to new dialects.  One might
run a test to check if such-and-such a feature of a class library
is available -- perhaps even using SUnit to do the test -- and
then filein or load pieces of the application according to the
results that the capability check produces.

Of course, such a version of an application wouldn't be best
for performance or understandability, but it could give someone
a quick way of getting a goodie into action.

Ah, so many projects, so little time!

  --Jan

"Richard A. Harmon" wrote:

>
> On Fri, 02 Nov 2001 04:08:45 GMT, Jan Theodore Galkowski
> <[hidden email]> wrote:
>
> >"Richard A. Harmon" wrote:
> >>
> >> On Thu, 01 Nov 2001 11:47:57 -0500, Jan Theodore Galkowski
> >> <[hidden email]> wrote:
> >> >
> >> >Jan Theodore Galkowski wrote:
> >> >> =
> >> >
> >> >> Hi,
> >> >> =
> >> >
> >> >> I'm trying to quickly learn precisely what dependencies the resulting
> >> >> scanner and parser classes produced by T-Gen have upon the original
> >> >> T-Gen package.  The claim is they can be separated from it and work.
> >> >> The documentation hasn't much detail about how that should be done.
> >> >
> >> >There's a really good set of examples of Justin Graver's T-Gen usage
> >> >at
> >> >
> >> >  ftp://st.uiuc.edu/pub/Smalltalk/st80_r41/T-gen2.1
> >
> >
> >[snip]
> >
> >>
> >> I couldn't get the GraphBuilder PTB class example to work (last
> >> example in the doc.).  The author notes after running the example the
> >> graph is built in the reverse order of what is required.  I think the
> >> changes he say must be made are not included in the example.
> >
> >Actually, Richard, that was precisely my experience.  I concluded that
> >there was something wrong with my understanding and so I went fishing
> >for more examples to debug me with.  I think the set I identified
> >is good grist.  I had no trouble with expressing the patterns or
> >parsing but, like you it seems, I couldn't follow the example and
> >get the AST-builders to work properly.
> >
>
> I posted a request for help on this example to comp.lang.smalltalk in
> September but got no response.  The subject was:
>
>         T-gen Doc. Comprehensive Example Single-pass Corrected Step?
>
> >I'm hoping for insight in the new code I have and I'll post something
> >here if I understand it well enough to explain it succinctly.
>
> Great.  I think more (and a complete) example(s) would help folks
> trying to puzzle out how to use T-gen.
>
> >
> >Failing that, I'll put some extensive comments about using T-Gen
> >in the source and package I'm building for my term project in
> >Professor Ralph Johnson's CS497 class (via Internet) which will
> >be publicly available, from my site -- which I hope to put on
> >the Dolphin Web ring -- and from the UIUC archive.  See
> >
> >
> >http://wiki.cs.uiuc.edu/cs497rej/Flow+and+Dependency+Analysis+of+SQL+in+SQL+Scripts
> >
> >for the prospectus.
>
> Looks challenging.  Good luck.  I'll keep an eye on your site.
>
> Over the years there have been a couple of different folks that have
> been maintaining T-gen.  From posts on c.l.s it seems that folks that
> try to contact the last/current person haven't gotten a response.
>
> A couple vaguely related points are:
>
> I was always uneasy about getting downloads of T-gen for various
> dialects--I have four or five now.  I never knew how complete a port
> was, nor from which version of which dialect port of T-gen it was
> derived.  There doesn't seem to be any way to incorporate known fixes,
> enhancements, etc.  It really impacted me as I didn't know if I'd made
> a mistake out of ignorance or it was a flaw or limitation of T-gen.
>
> If I found something I was fairly sure was a bug, there was no
> common/reference version to fix, and move T-gen forward.
>
> I always thought a Smalltalk Interchange Format (SIF) version would
> help eliminate some of these variables as it could be a common
> starting point for all dialect specific ports.
>
> I also think the UIUC Smalltalk achieves would be a very useful place
> to make code available.  I tried to upload some Dolphin code a couple
> of years ago, but couldn't figure out how to get past the "Index Card"
> screen when it asked for the dialect, but Dolphin wasn't a choice on
> the list.
>
> I tried an email to the page maintainer, and a couple of posts to
> others, but never got any response.  So I gave up and just created a
> personal web page with my code.
>
> The Dolphin community seem to prefer to make code available on their
> personal web page.  Their interest waxes and wanes, and so personal
> web pages come and go, and so useful stuff seems to disappear.

[snip]

--
---------------------------------------------------------------------
 Jan Theodore Galkowski                    [hidden email]
 The Smalltalk Idiom                       [hidden email]
*********************************************************************
             "Smalltalk?  Yes, it's really that slick."
---------------------------------------------------------------------
Want to know more?  Check out
           http://www.dnsmith.com/SmallFAQ/
           http://www.object-arts.com/DolphinWhitePaper.htm
           http://st-www.cs.uiuc.edu/users/johnson/smalltalk/
*********************************************************************


Reply | Threaded
Open this post in threaded view
|

Re: Example of extensive T-Gen use, specifically...?

Steve Zara
Jan Theodore Galkowski <[hidden email]> writes:
>---------------------------------------------------------------------
> Jan Theodore Galkowski                    [hidden email]
> The Smalltalk Idiom                       [hidden email]
>*********************************************************************
>             "Smalltalk?  Yes, it's really that slick."
>---------------------------------------------------------------------
>Want to know more?  Check out
>           http://www.dnsmith.com/SmallFAQ/

This page says 'Last-modified: 28 July 1996'.  Perhaps something
with a more recent date will be more encouraging for potential
Smalltalkers! If I see a FAQ that is unchanged for over 5 years, it
make me think the technology is stagnant and outdated.

>           http://www.object-arts.com/DolphinWhitePaper.htm
>           http://st-www.cs.uiuc.edu/users/johnson/smalltalk/
>*********************************************************************