harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Etienne Gagnon <egag...@sablevm.org>
Subject Re: [classlib] Preprocessor - CHECKPOINT
Date Wed, 01 Nov 2006 15:21:06 GMT
Mikhail Fursov wrote:
> On 11/1/06, Etienne Gagnon <egagnon@sablevm.org> wrote:
>> For comfortable IDE development, one could imagine that the IDE editor
>> can reduce to "one-line visible" comments (or better, specially
>> formatted ones) so that it gives you the impression that you are really
>> wearing target-specific spectacles.  [I know Eclipse allows for such
>> things already].
> Etienne,
> What is 'comfortable IDE development' if you can't modify the Y? Am I
> missing something here?

Maybe my text was wrongly formatted...  You looked at the wrong example.
 Comfortable development happens only using "development targets".  E.g.

1- process(X, devtarget) -> Z

2- edit Z in IDE using comfortable development, where you see a single
   commented line for every hidden stream code chunk, keeping you aware
   that other streams have related code there [you click on the "+" in
   Eclipse if you want to see the complete chunk].  Of course, you
   should never delete a chunk without consulting other stream
   developers first.
   So:  edit Z -> Z'

3- revert(Z') -> X'   this works, as long as devtarget is a stream code
                      preserving target (a "development target").

4- svn ci of X'  :-)

You wouldn't want to do the same with a "release target".  A release
target is a target where you want to completely remove other streams
source code from the processor output.  This is so your typical J2SE
"end developer" that looks at Harmony's source.zip code wouldn't have
lots of non J2SE commented code in his face.  [This was a concern
expressed earlier in this thread].

The output of process(X, releasetarget) should NOT be used for
development, not within, nor outside an IDE.  It's only role is to give
end developers "clean" source code to look at.  :-)

PS:  Note how "revert()" does not expect a target argument.  So, to
switch from j2me to j2xx development, one must: process(revert(Z),j2xx)
[where Z == process(X,j2me)].  This simplifies quite a few things...

Etienne M. Gagnon, Ph.D.            http://www.info2.uqam.ca/~egagnon/
SableVM:                                       http://www.sablevm.org/
SableCC:                                       http://www.sablecc.org/

View raw message