Hello there, again,
I do have an RFD (Request for Development) for the NetRexx Compiler. When compiling multiple Files, for instance, all Files in a directory, by saying: nrc *.nrx Then the current implementation does report everything OK, BUT: When there is ANY error in the BUNCH of files, the classes for the sources which are OK are *NOT* created, although the NetRexx Compiler does report 'compilation successful' for the successful attempts. I did have some discussion with Mike about this, and do *NOT* like to repeat this discussion. But I *do think*, very strongly, that the successful parts *should be* compiled in the first step, so that an iterative execution has less and less files actually to compile. What do you think there (on the group) on this issue ? Tom . _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
> When there is ANY error in the BUNCH of files, the classes > for the sources which are OK are *NOT* created, although the > NetRexx Compiler does report 'compilation successful' for the > successful attempts. > > I did have some discussion with Mike about this, and do *NOT* > like to repeat this discussion. > > But I *do think*, very strongly, that the successful parts > *should be* compiled in the first step, so that an iterative > execution has less and less files actually to compile. > > What do you think there (on the group) on this issue ? The errors that would prevent the class files being produced would be of the kind that failed at the first step -- typically a missing class, superclass, or interface ... long before any class file has been (or could be) produced. If a bunch of source files are being compiled together, it is assumed they are inter-dependent (otherwise why not compile them separately?), and in which case they must all compile or probably you have a non-working project and certainly javac could not compile all the .java files to make the new .class files without error. I may be remembering wrong, but I do not think that in any case NetRexxC erases class files that already exist. There's no 'roll-back'; either everything looks good and all new class files are produced or something is wrong and no new class files are produced. Mike _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Hello Mike,
1.) Thanks for your prompt reply, as usual :-) 2.) I did already resolve my problem in question by distributing the classes to proper sub-directories. I only wondered what that 'internal class hierarchy error' does mean .... Issue closed from my side. ;-) Tom. PS: But I *do still think* that NetRexx should report a USER error, *not an internal* NetRexx error, with an abort.... ;-) Thomas. ======================================================================= Mike Cowlishaw schrieb: > > >> When there is ANY error in the BUNCH of files, the classes >> for the sources which are OK are *NOT* created, although the >> NetRexx Compiler does report 'compilation successful' for the >> successful attempts. >> >> I did have some discussion with Mike about this, and do *NOT* >> like to repeat this discussion. >> >> But I *do think*, very strongly, that the successful parts >> *should be* compiled in the first step, so that an iterative >> execution has less and less files actually to compile. >> >> What do you think there (on the group) on this issue ? >> > > The errors that would prevent the class files being produced would be of > the kind that failed at the first step -- typically a missing class, > superclass, or interface ... long before any class file has been (or could > be) produced. If a bunch of source files are being compiled together, it > is assumed they are inter-dependent (otherwise why not compile them > separately?), and in which case they must all compile or probably you have > a non-working project and certainly javac could not compile all the .java > files to make the new .class files without error. > > I may be remembering wrong, but I do not think that in any case NetRexxC > erases class files that already exist. There's no 'roll-back'; either > everything looks good and all new class files are produced or something is > wrong and no new class files are produced. > > Mike > > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > > > _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
In reply to this post by Thomas.Schneider.Wien
On Sun, Mar 7, 2010 at 10:40 AM, Thomas Schneider <[hidden email]> wrote:
Hello there, again, If there´s a situation where a given program works when acting on individual files, but fails when specifying wildcards (i guess this is what happens by reading your description), you can work around the problem by using my favourite freeware utility, Kai Uwe Rommel´s "Forall.exe" which is dated around 1997 and went from dos, to 32-bit OS/2 and then to Windows (win32). It´s a tiny, very useful command line utility. It lets you invoke any command line tool as many times as needed, based on wildcards... Here, the link to the win32 version: http://www.ars.de/file/forall.zip Basically you´d do forall *.nrx : nrc @f And forall.exe would invoke "nrc filename" a dozen or a thousand times, based on files matching the wildcard. Of course, this is no use for you if you´re using Linux, and there´s probably a simple way to achieve the same on bash without running any binary utility other than just system utils or bash... FC _______________________________________________ Ibm-netrexx mailing list [hidden email] |
I think it's something like this ...
for i in *.nrx; do; nrc $i; done --Stephen Fernando Cassia wrote: > If there´s a situation where a given program works when acting on > individual files, but fails when specifying wildcards (i guess this is > what happens by reading your description), you can work around the > problem by using my favourite freeware utility, Kai Uwe Rommel´s > "Forall.exe" which is dated around 1997 and went from dos, to 32-bit > OS/2 and then to Windows (win32). > > It´s a tiny, very useful command line utility. It lets you invoke any > command line tool as many times as needed, based on wildcards... > > Here, the link to the win32 version: > http://www.ars.de/file/forall.zip > > Basically you´d do > > forall *.nrx : nrc @f > > And forall.exe would invoke "nrc filename" a dozen or a thousand > times, based on files matching the wildcard. > > Of course, this is no use for you if you´re using Linux, and there´s > probably a simple way to achieve the same on bash without running any > binary utility other than just system utils or bash... _______________________________________________ Ibm-netrexx mailing list [hidden email] |
On Mon, Mar 8, 2010 at 4:36 PM, Stephen Y Odo <[hidden email]> wrote:
> I think it's something like this ... > > for i in *.nrx; do; nrc $i; done Thanks Stephen, yes that looks like bash for loops... FC _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by Stephen Y Odo
Hello Stephen.
Mike F.Cowlishaw did make a very good decision how to be able to COMPILE inter-dependent NetRexx source programs (like my ReyMsg and ReyFile) where ReyFile calls ReyMsg, and vice versa... Praise, Mike :-) Tom. ====================================================================== Stephen Y Odo schrieb: > I think it's something like this ... > > for i in *.nrx; do; nrc $i; done > > --Stephen > > > > Fernando Cassia wrote: > >> If there´s a situation where a given program works when acting on >> individual files, but fails when specifying wildcards (i guess this is >> what happens by reading your description), you can work around the >> problem by using my favourite freeware utility, Kai Uwe Rommel´s >> "Forall.exe" which is dated around 1997 and went from dos, to 32-bit >> OS/2 and then to Windows (win32). >> >> It´s a tiny, very useful command line utility. It lets you invoke any >> command line tool as many times as needed, based on wildcards... >> >> Here, the link to the win32 version: >> http://www.ars.de/file/forall.zip >> >> Basically you´d do >> >> forall *.nrx : nrc @f >> >> And forall.exe would invoke "nrc filename" a dozen or a thousand >> times, based on files matching the wildcard. >> >> Of course, this is no use for you if you´re using Linux, and there´s >> probably a simple way to achieve the same on bash without running any >> binary utility other than just system utils or bash... >> > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > > > _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
In reply to this post by Stephen Y Odo
> I think it's something like this ...
> > for i in *.nrx; do; nrc $i; done > [chuckle] ... yes many ways of doing that. The point that Tom seems to have missed is that when NetRexx compiles a bunch of files at the same time it will ensure all those files -- and their interdependencies -- are resolved at the same time. Compiling the files individually will not (and in some cases cannot) give the same results, as when (for example) two classes refer to each other. Mike _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Hello Mike,
*as already DISCUSSED* years ago, I (personally) *do think* that when your NetRexx Compiler does issue a message: Compliation succssful *It should* actually *please* make this compilation...... But I'm *NOT* interested to re-start this discussion again.... I did learn to live what we currently do have with your *reference Implementation* :-) Tom. ============================================================== Mike Cowlishaw schrieb: >> I think it's something like this ... >> >> for i in *.nrx; do; nrc $i; done >> >> > > [chuckle] ... yes many ways of doing that. The point that Tom seems to > have missed is that when NetRexx compiles a bunch of files at the same time > it will ensure all those files -- and their interdependencies -- are > resolved at the same time. Compiling the files individually will not (and > in some cases cannot) give the same results, as when (for example) two > classes refer to each other. > > Mike > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > > > _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
Free forum by Nabble | Edit this page |