Hello there,
when testing my own software, I did find a bit irritating behavious in the NetRexx Compiler: -- when a leading comment (introduced by '/*') is *not ended by a proper '*/*, the NetRexxC Compiler gives a somewhat misleading error message: class #1 has been already implied for this program! Just for info. Tom (Massa Thomas). -- Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
JAT: Would REGEXX catch that?
bobh On Sat, May 22, 2010 at 6:16 PM, Thomas Schneider <[hidden email]> wrote: Hello there, _______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by Thomas.Schneider.Wien
Hi Tom,
this seems the price to pay for the 'scripting' mode in which you do not have to declare a class, but the compiler declares it for you. If for any reason the first clause in a program isn't a class declaration - in you case a 'failed' comment, and afterwards the class declaration clause succeeds, you will get this. best regards, René Jansen. On 23 mei 2010, at 01:16, Thomas Schneider wrote: > Hello there, > when testing my own software, I did find a bit irritating behavious in the NetRexx Compiler: > > -- when a leading comment (introduced by '/*') is *not ended by a proper '*/*, the NetRexxC Compiler > gives a somewhat misleading error message: > > class #1 has been already implied for this program! > > Just for info. > Tom (Massa Thomas). > -- > Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > _______________________________________________ Ibm-netrexx mailing list [hidden email] |
I'm sorry I did make the *wrong* example in my previous mail :-(
The example should read: /* This is the banner Line of my Program */ */ The superfluous 'Junk' at the end (*/) is *not*, repeat *NOT*, reported as an *ERROR* my NetRexxC..... ;-) Greetings, Tom. ======================================== Am 23.05.2010 21:37, schrieb René Jansen: > Hi Tom, > > this seems the price to pay for the 'scripting' mode in which you do not have to declare a class, but the compiler declares it for you. If for any reason the first clause in a program isn't a class declaration - in you case a 'failed' comment, and afterwards the class declaration clause succeeds, you will get this. > > best regards, > > René Jansen. > > On 23 mei 2010, at 01:16, Thomas Schneider wrote: > > >> Hello there, >> when testing my own software, I did find a bit irritating behavious in the NetRexx Compiler: >> >> -- when a leading comment (introduced by '/*') is *not ended by a proper '*/*, the NetRexxC Compiler >> gives a somewhat misleading error message: >> >> class #1 has been already implied for this program! >> >> Just for info. >> Tom (Massa Thomas). >> -- >> Thomas Schneider Projects ReyC& LOGOS on www.KENAI.com >> _______________________________________________ >> Ibm-netrexx mailing list >> [hidden email] >> >> > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > > > -- Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
Duh, I've been studying the manuals, especially Creating Java apps with netrexx and I just don't get it. My background is assembler, cobol, rexx, clists so I think this concept of "objects" is eluding me. I get strutured programming where functions can sub-routines from a mainline, but I'm at a loss. Can y' all recommend some good doc? Kenneth Klein Systems Specialist 502-868-3644 859-750-5179 (Cell) 502-868-2298 (Fax) [hidden email] _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Hi Kenneth,
There are a lot of interpretations of exactly what Object-Oriented programming is about, so its quite difficult to offer a general answer to your question. NetRexx has definitely been influenced by the Java philosophy of OO, so I suggest that is the place to start. Maybe you would find "Thinking in Java" by Bruce Eckle to be helpful. The latest 4th edition is only available to buy as a printed book, but the previous (3rd) edition is available online for free: http://www.mindview.net/Books/TIJ/ NetRexx greatly simplifies coding for the Java Virtual Machine, by removing a lot of the verbosity of Java. However, I think that a working knowledge of how to read Java is likely to enhance and increase your appreciation for NetRexx. On the other hand, I'm a NetRexx newbie myself, so your mileage may vary! ;) If you would like more specific help on your error message, please share the code that is giving you the error? Kind Regards, Colin Coates Senior Software Engineer, IBM Rational | Learning Development | Analysis, Design & Construction. Home office: 1 Trafalgar Rise, Clanfield, Waterlooville, Hampshire. PO8 0PN Telephone# +44 2392 570192 |------------> | From: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |[hidden email] | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | To: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |[hidden email], IBM Netrexx <[hidden email]> | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Date: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |25/05/2010 13:45 | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Subject: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |[Ibm-netrexx] Error: The method 'blahblah()' cannot be found in class 'netrexx.lang.Rexx' or a superclass | >--------------------------------------------------------------------------------------------------------------------------------------------------| Duh, I've been studying the manuals, especially Creating Java apps with netrexx and I just don't get it. My background is assembler, cobol, rexx, clists so I think this concept of "objects" is eluding me. I get strutured programming where functions can sub-routines from a mainline, but I'm at a loss. Can y' all recommend some good doc? Kenneth Klein Systems Specialist 502-868-3644 859-750-5179 (Cell) 502-868-2298 (Fax) [hidden email] _______________________________________________ Ibm-netrexx mailing list [hidden email] _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Loose translation to Cobol - A Class is an 01 level in working storage. An Object is a record (instance) of a class -- working storage -- occurs perhaps. The "Main" class is the Procedure Division. Classes can contain subprograms (methods) and these are accessed like Call Using( ) but they are accessed with classname.subprogram(value,value, value) if classname isn't specified then the current class is assumed 01 HeadingLine PIC X(19) VALUE " Month StudCount". PROCEDURE DIVISION. Begin. OPEN INPUT StudentFile In netrexx(java) would be /* main is automatic in netrexx */ studentFile = FileReader("Student.records") .... printRecord class printStuff headingLine = " Month StudCount" method printRecord (dataline = string) if firstrec = 1 then system.out.printline(headingLine) else system.out.printline(dataline) _______________________________________________ Ibm-netrexx mailing list [hidden email] winmail.dat (4K) Download Attachment |
You might be interested in ReyC, my Rey Compiler.
rey, amongst others, does simply translate COBOL to NetRexx! :-) Full stop. Thomas Schneider. =========================================================== Am 25.05.2010 15:46, schrieb Measel, Mike: Loose translation to Cobol - A Class is an 01 level in working storage. An Object is a record (instance) of a class -- working storage -- occurs perhaps. The "Main" class is the Procedure Division. Classes can contain subprograms (methods) and these are accessed like Call Using( ) but they are accessed with classname.subprogram(value,value, value) if classname isn't specified then the current class is assumed 01 HeadingLine PIC X(19) VALUE " Month StudCount". PROCEDURE DIVISION. Begin. OPEN INPUT StudentFile In netrexx(java) would be /* main is automatic in netrexx */ studentFile = FileReader("Student.records") .... printRecord class printStuff headingLine = " Month StudCount" method printRecord (dataline = string) if firstrec = 1 then system.out.printline(headingLine) else system.out.printline(dataline)_______________________________________________ Ibm-netrexx mailing list [hidden email] --
Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
In reply to this post by measel
Mike.
Thanx for the cobol anAlogies Bobh Sent from my iPhone Enjoy your day Bob Hamilton On May 25, 2010, at 8:46 AM, "Measel, Mike" <[hidden email]> wrote: > > Loose translation to Cobol - > > A Class is an 01 level in working storage. > An Object is a record (instance) of a class -- working storage -- > occurs perhaps. > The "Main" class is the Procedure Division. > Classes can contain subprograms (methods) and these are accessed > like Call Using( ) > but they are accessed with classname.subprogram(value,value, value) > if classname isn't specified then the current class is assumed > > > 01 HeadingLine PIC X(19) VALUE " Month StudCount". > > PROCEDURE DIVISION. > Begin. > OPEN INPUT StudentFile > > In netrexx(java) would be > > /* main is automatic in netrexx */ > > studentFile = FileReader("Student.records") > .... > printRecord > > class printStuff > > > headingLine = " Month StudCount" > > method printRecord (dataline = string) > > if firstrec = 1 then > system.out.printline(headingLine) > else > system.out.printline(dataline) > <winmail.dat> > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > Ibm-netrexx mailing list [hidden email] |
In reply to this post by kenner
Kenneth,
On 25 May 2010 05:21, <[hidden email]> wrote:
As an aside; if you're familiar with S/390 assembler (HLASM etc.) you've been using object oriented techniques forever. I once read a really good paper (in a Candle Computer Report I think and I'm doing it an injustice now) that discussed object oriented programming for mainframe assembler programmers: it chose the DCB as an example of an object. The basic idea was that a DCB is just an object and it abstracts and hides all the complex stuff that your program needs to know about but you, the programmer, don't. So regardless of if you create a DCB for a simple QSAM dataset or a complex HIDAM database the OPEN, CLOSE, GET, PUT etc. macros all function as you'd expect. When your program connects to the DCB, access method services plugs in the entry points to the appropriate I/O methods etc. and everything works as if by magic. Mapping OOP over such familiar concepts helped demystify the methodology for me, I hope this will help you too. Alan. -- Needs more cow-bell! _______________________________________________ Ibm-netrexx mailing list [hidden email]
Alan
-- Needs more cowbell. |
In reply to this post by Thomas.Schneider.Wien
I do not see this, the line is correctly
flagged as an error on my system:
$ cat t.nrx /* This comment line is not properly ended */ */ say "error" $ nrc -run t NetRexx portable processor, version 2.05 Copyright (c) IBM Corporation, 2005. All rights reserved. Program t.nrx 1 +++ /* This comment line is not properly ended */ */ +++ ^ +++ Error: Clause must start with a term, name, or keyword Compilation of 't.nrx' failed [one error] Best regards Marc Remes IBM Certified IT Specialist IBM Global Technology Services Mobile: 32 475 33 8162 mailto:mremes@...
I'm sorry I did make the *wrong* example in my previous mail :-( The example should read: /* This is the banner Line of my Program */ */ The superfluous 'Junk' at the end (*/) is *not*, repeat *NOT*, reported as an *ERROR* my NetRexxC..... ;-) Greetings, Tom. ======================================== Am 23.05.2010 21:37, schrieb René Jansen: > Hi Tom, > > this seems the price to pay for the 'scripting' mode in which you do not have to declare a class, but the compiler declares it for you. If for any reason the first clause in a program isn't a class declaration - in you case a 'failed' comment, and afterwards the class declaration clause succeeds, you will get this. > > best regards, > > René Jansen. > > On 23 mei 2010, at 01:16, Thomas Schneider wrote: > > >> Hello there, >> when testing my own software, I did find a bit irritating behavious in the NetRexx Compiler: >> >> -- when a leading comment (introduced by '/*') is *not ended by a proper '*/*, the NetRexxC Compiler >> gives a somewhat misleading error message: >> >> class #1 has been already implied for this program! >> >> Just for info. >> Tom (Massa Thomas). >> -- >> Thomas Schneider Projects ReyC& LOGOS on www.KENAI.com >> _______________________________________________ >> Ibm-netrexx mailing list >> [hidden email] >> >> > > _______________________________________________ > Ibm-netrexx mailing list > [hidden email] > > > -- Thomas Schneider Projects ReyC & LOGOS on www.KENAI.com _______________________________________________ Ibm-netrexx mailing list [hidden email] Tenzij hierboven anders aangegeven: / Sauf indication contraire ci-dessus: / Unless otherwise stated above: International Business Machines of Belgium sprl / bvba Siège social / Maatschappelijke zetel: Avenue du Bourget 42 Bourgetlaan, B-1130 Bruxelles/Brussel N° d'entreprise / Ondernemingsnr: TVA / BTW BE 0405 912 336 RPM Bruxelles / RPR Brussel _______________________________________________ Ibm-netrexx mailing list [hidden email] smime.p7s (12K) Download Attachment |
In reply to this post by alansam
(Top posting general response to all the responses I got on this thread.) Thanks all for the tips. I am making progress. I think my weakness is in understanding the types of variables passed around as arguments and values returned, all of which make this thing called the "signature". Apparently if the method does have the right signature, it wont get found. Looking at sample code gets so confusing because I can't tell what is netrexx, java, or this programs unique names of classes, methods, properties. And netrexx removes all the clues that would help induct what's going on. I tried the book on Java and the theory helps some, but the examples in there are Sun JDK and I am learning on an XP box. Maybe the z/os 1.10 OMVS would be a better playground?? Still looking for a good tutorial with simple examples. Kenneth Klein Kenneth, On 25 May 2010 05:21, <kenneth.klein@...> wrote: Duh, I've been studying the manuals, especially Creating Java apps with netrexx and I just don't get it. My background is assembler,... As an aside; if you're familiar with S/390 assembler (HLASM etc.) you've been using object oriented techniques forever. I once read a really good paper (in a Candle Computer Report I think and I'm doing it an injustice now) that discussed object oriented programming for mainframe assembler programmers: it chose the DCB as an example of an object. The basic idea was that a DCB is just an object and it abstracts and hides all the complex stuff that your program needs to know about but you, the programmer, don't. So regardless of if you create a DCB for a simple QSAM dataset or a _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Hi Kenneth;
I am not sure where you are coming from in terms of experience but long ago I started a class to introduce mainframe programmers to Java and NetRexx. This class material for a specific group was never completed (as the class was canceled) and is about 10 years out of date now but in conjunction with Leonardo Boselli's old "NetRexx at Once" guide, it may answer some of your basic questions. You can find the class material here: http://kermitkiser.com/NetRexx/javaclass The NetRexx at Once guide is here: http://kermitkiser.com/NetRexx/atOnce These two guides might form the base for creating a new NetRexx beginner tutorial if anyone gets the time to put it together. :-) -- Kermit [hidden email] wrote:
_______________________________________________ Ibm-netrexx mailing list [hidden email] |
Great. I got the atOnce Guide downloaded and made a link to the java course. Looks like all great stuff. This is from the primary web page of RexxLA: IBM announced in April, 2008 their intention of making available their NetRexx product. RexxLA and IBM are currently in negotiations for turning over the source code and project materials to RexxLA. RexxLA will establish a project for NetRexx as soon as feasible. So after 2 years, is there any action on this? I can see that IBM is no longer interested in NetRexx, even Mark seems resigned, IMHO. Seems like netrexx has so much potential. REXX to netrexx, netrexx to byte code, COBOL to netrexx even! But in chasing down links to NetRexx resources I find that most are very old or just plain missing. Kenneth Klein
Hi Kenneth; I am not sure where you are coming from in terms of experience but long ago I started a class to introduce mainframe programmers to Java and NetRexx. This class material for a specific group was never completed (as the class was canceled) and is about 10 years out of date now but in conjunction with Leonardo Boselli's old "NetRexx at Once" guide, it may answer some of your basic questions. You can find the class material here: http://kermitkiser.com/NetRexx/javaclass The NetRexx at Once guide is here: http://kermitkiser.com/NetRexx/atOnce These two guides might form the base for creating a new NetRexx beginner tutorial if anyone gets the time to put it together. :-) -- Kermit _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Hi Kenneth,
and the RexxLA page is absolutely correct - the process is running. If you mean Mark Cathcart, he is at Dell. Your mail prompted me to do some work on netrexx.org again, which will soon be on the air. Also, have a look at David Requena's pages at Kenai.
best regards, René Jansen.
On Fri, May 28, 2010 at 3:41 PM, <[hidden email]> wrote:
_______________________________________________ Ibm-netrexx mailing list [hidden email] |
In reply to this post by kenner
Hello,there....
I am working on a generalized COMPILER, translating classic Rexx, ooRexx, NetRexx, PLI/, and COBOL, to Javas (generating directly th Byte Codfe nrecessary for the Java Machiners) I am NOTR still thru with this effort, but as I currently see it, ReyC (Thge Rey Compilertr, as I did call it) Will bee commercially available 12.09.2010. I am currently in the final stages of Testing ReyC in various environmenzt. Please subscribe Projects ´ReyC`´ and `PP`on www.kenai.com when interested in my current eofforts. ReyC will be an OPEN SOURCE Product, but the PL/I and COBOL versions weill be a licencesed Product.... Kind regards from Dark Vienna, Thomas Schneidetr (Tom.) =================================================================================== Am 28.05.2010 15:41, schrieb [hidden email]
_______________________________________________ Ibm-netrexx mailing list [hidden email]
Tom. (ths@db-123.com)
|
HFSPROF is the name of your edit profile. More important is the variable length records thing. For variable length records, sequence numbers, if you have them, are normally stored in the first 8 characters (after the RDW). Maybe someone issued some combination of num on / unnum commands: that would put sequence numbers in cols 1-8 then remove them. Does this happen if you use oedit to create a new file? Yes, every file in this HFS has variable length records, even new files. But only when I edit the file. If I browse the file they are 75 bytes. Ken _______________________________________________ Ibm-netrexx mailing list [hidden email] |
Free forum by Nabble | Edit this page |