Filing in VW5i code?

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

Filing in VW5i code?

Bill Schwab-2
Hello,

I've had the good fortune of being given ~650k of VW code, and am seriously
considering porting it to Dolphin.  Is there a way to file it in to Dolphin,
or will the name space stuff require huge amounts of editing of the source
before that's possible?

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Filing in VW5i code?

Richard A. Harmon
On Mon, 16 Apr 2001 00:41:53 -0400, "Bill Schwab"
<[hidden email]> wrote:

>Hello,
>
>I've had the good fortune of being given ~650k of VW code, and am seriously
>considering porting it to Dolphin.  Is there a way to file it in to Dolphin,
>or will the name space stuff require huge amounts of editing of the source
>before that's possible?
>

I'm currently re-working Eric Arseneau's SIF.  He's done some really
nice work with it.  He has implementations on his site for Dolphin,
Squeak, VW, and VAST.  I added a couple lines of fixes for minor
anomalies, but it worked like a charm and is fast.  It can be
downloaded from:

        http://www.pocketsmalltalk.com/sif/

I can send you the couple of lines to fix.

I have thought about the issue of how to handle namespaces for about a
year.  Never quite found the time to get a NC copy of the VW 5 to
actually play around with it to see what kind of animal it is.  Given
that, I don't think it would be all that difficult to add minor
changes to Eric's SIF for VW file code using namespaces out in SIF and
load without namespaces using his Dolphin SIF.

I think the only real problem is loading in to Dolphin when you have
name conflicts, namespace scope, and any non-standard syntax I thought
I saw called "dot notation"?  You can catch the last two when filing
out of VW.

The name conflicts can be solved the same way as we now do without
namespaces -- find and replace unless you want to automate it.

The namespace scope of Smalltalk objects (classes, globals, etc.) I
think can be handled by adding an annotation key "namespace" and a
value of the namespaces name.  Code scope can be handled by adding a
compiler directive hidden in a comment.  As scopes nest, the scopes
can be "stacked", and un-nested "un-stacked".  I've got some old code
I could send to you that could be a good start on code scope.  I used
the code for something else.

The "dot notation" could be handled by adding a pre-processor step
before filing out to substitute a legal ANSI standard syntax, and a
pre-processor step filing in before compiling a method or initializer.

 From what I've picked up about namespaces from posts on c.l.,s I think
the above would handle 99% of the namespaces issues in totally legal
ANSI SIF, and would be "fairly" painless.  Eric's SIF seems nicely
partitioned and I think it would be obvious where to add the namespace
additions.

I reworked his SIF 2.0.  I hope I simplified it and didn't munge it
up.  The reworked version is about half the size of his SIF 2.0.  The
Dolphin version now builds a Package instance from the SIF file and
files out a Package to a SIF file.  The Squeak version now builds a
change set from the SIF file and files out a change set to a SIF file.

Other dialect specific working units that would be nice to be filed in
and out in SIF:

        Visual Age      - Don't know? an Application?
        VisualWorks     - a parcel I think (.pcl file)?

This allows one to work using the tools in each dialect, but easily
load and store the work produced in any dialect.

Maybe if you made a seriously pitiful plea for help some nice person
who has worked with VW namespaces would modify Erics's SIF for you.
The worst they can do is laugh.  At best it would be an opportunity
for somebody to really show their expertise and generous heart.  You
can't lose.

Bye,




 


>Wilhelm K. Schwab, Ph.D.
>[hidden email]
>
>

--
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: Filing in VW5i code?

James Robertson-3
In reply to this post by Bill Schwab-2
You could also

-- download 5i.3 NC

-- load Fileout30 (a goodie)

-- go to File>>Settings>File Out Format

and switch to 3.0 compatible chunk

Now load your 5i code into the 5i image, turn 3.0 compat mode on, and
file it out



Bill Schwab wrote:

>
> Hello,
>
> I've had the good fortune of being given ~650k of VW code, and am seriously
> considering porting it to Dolphin.  Is there a way to file it in to Dolphin,
> or will the name space stuff require huge amounts of editing of the source
> before that's possible?
>
> Have a good one,
>
> Bill
>
> --
> Wilhelm K. Schwab, Ph.D.
> [hidden email]

--
James A. Robertson
Product Manager (Smalltalk), Cincom
[hidden email]
<Talk Small and Carry a Big Class Library>