Current Status

2010-09-25
2014-06-19
  • Bill Fenlason
    Bill Fenlason
    2010-09-25

    Hello,

    I see that this plugin is being downloaded by some people, but there is no feedback yet.  I can use your help in deciding what needs to be done next. 

    I'm currently working on moving from statement level error checking to full AST processing.  After that my plan is to get back to the usability features such as the outline view, etc. 

    Naturally, I'll give priority to what is requested.  Got any good items for the wish / todo list?

    Thanks.  Bill

     
  • Gert
    Gert
    2010-09-30

    Hi Bill,

    I'm looking for an plugin for open object rexx and not only netrexx for eclipse.
    There are two plugins (RexxDev and another on1).
    But both are not developed anymore.

    For now I'm using Notepad++. I made a rexx-plugin (syntax-highlighting and autocompletion) but I would prefer a real IDE.

    If you interested in an conversation, you can contact me by email. You can find the address on my homepage (http://deltaos.de).

    Bye
    … Gert

     
  • Bill Fenlason
    Bill Fenlason
    2010-09-30

    Gert,

    The plugin is for NetRexx because of the Java connection.  I assumed that some NetRexx users would be taking advantage of using Java classes, etc.

    The plugin is grammar driven, so when I get things pretty well done, an OORexx version should not be that difficult - just have to modify the grammar and change the way the execution is initiated.  I'll probably do an original Rexx version as well - I did a preliminary one a couple of years ago but there was not much interest in it.

    I don't know anything about Notepad++, but it sounds like some other editors which allow plugins to do syntax coloring.  My plugin is more like an IDE in that it provides dynamic error checking, etc. 

    I can't promise OORexx support any time soon, but I certainly understand that it is wanted.  I'll work on it as soon as it is practical to do so.

    I don't know if there is a currently available program to convert OORexx to NetRexx or not.  I hope you will be able to try using NetRexx - it has some very nice features.

    Thanks for your comment. 

    Bill

     
  • sy0d0
    sy0d0
    2011-08-30

    Hi Bill,

    Great work. And since you wanted feedback, I have a question:  I just tried creating a servlet using Mark Damon Hughes' NrxServlet.nrx. I typed in his code:

    /* NrxServlet.nrx */
    package foo
    import javax.servlet.
    import javax.servlet.http.
    class NrxServlet extends HttpServlet
        method param(request=HttpServletRequest, key)
        value = request.getParameter(key)
        if value == null then signal ServletException("Missing parameter" key)
        return Rexx value
        method forward(request=HttpServletRequest, response=HttpServletResponse, path)
                signals ServletException, IOException
        rd = getServletContext().getRequestDispatcher(path)
        rd.forward(request, response)
    

    But Eclipse flags an error on the "method forward" statement:
      Unusual use of keyword "signals"

    Is that your code doing that? And is there a way around it?

    Thanks.

    -Stephen

     
  • Bill Fenlason
    Bill Fenlason
    2011-08-31

    Stephen,

    Yes, that message is in error.  It still should compile, I think.  I just tried it but I don't have the javax.servlet libraries handy.

    The new version of the plugin will fix that and a lot of other things as well.  But it is a couple of weeks away.

    Bill

     
  • Jerry McBride
    Jerry McBride
    2011-09-05

    I'm installing eclipse just now and then the netrexx plugin. I am currently using jedit and I'm looking forward to a more robust IDE.

    Thank you, for your effort and supporting netrexx.

    A suggestion… simple install instructions would be a boost for us newbies.

    I'll be back with feedback.

    Jerry

    PS. contact as you see fit at jmcbride@mail-on.us

     
  • Jerry McBride
    Jerry McBride
    2011-09-05

    I use the Gentoo distribution by choice. Installing eclipse dragged in 67 new packages and then the netrexx plugin. I wasn't redy for that…

    Jerry

     
  • Bill Fenlason
    Bill Fenlason
    2011-09-05

    Jerry,
    I had no idea that would happen :)  Hopefully all worked ok.  Probably some piece of software looks through Sourceforge for Eclipse related packages, etc. 

    If you are not familiar with Eclipse, perhaps the first hurdle is to understand that everything has to be in a project.  Click "new project -> java project, etc.  Then you should be able to edit NetRexx files and interpret / execute them.  If you are compiling, etc the JDK needs to be installed.  Let me know how things work in Linux - I develop on Windows and don't use Linux very often - I'll make the switch at some point :)

     
  • Bill Fenlason
    Bill Fenlason
    2011-09-12

    Version 2.0.1 has been uploaded to the update site, and is now downloadable as an update.

    The README file at this site has details - the most noticeable change is the addition of a NetRexx item in the main menu, keyboard shortcuts (e.g. Alt + i to interpret, etc.), and a different icon.

    You can help by telling us what works and what doesn't, and what would be helpful to you.

    Bill

     
  • Rob Schroeder
    Rob Schroeder
    2011-09-21

    Hi Bill,

    excellent work. Just found the plugin today; I'm delighted to see NetRexx coming to my standard IDE.

    Is my observation correct that Interpret/Translate/Compile do not resolve imports from external jars yet, even if they're included in the build path, or have I maybe failed to adjust some settings?

    Cheers,
    Robert

     
  • Bill Fenlason
    Bill Fenlason
    2011-09-21

    Hi Robert,

    Yes, I may have some work to do in that area. 

    Did you try adding the jars to the classpath in the run configuration for the NetRexx Compiler, etc?

    i.e. Main Menu-> Run-> Run Configurations-> Java Application->  NetRexxCompile-> Classpath-> User Entries-> Add Jars or Add External Jars?   (Must click on "User Entries" to enable)

    I think that should work, and if it does not, please let me know!  (To be honest, I haven't tested that yet)

    The next release will be out in a few days - I'm working on the outline view, but perhaps getting external jars onto the NetRexx classpath easily is more important - I'm surprised that I overlooked it.  (Forest for the trees :)

    I'll add a preference option for the inclusion of additional class path entries ASAP.  Users should not have to edit the run configuration. 

    By the way, there is a current bug (in 2.0.2) which occasionally generates bogus error messages - they can be ignored and the files will compile, etc. with no problem.  (Fixed next release).

    Thanks for reporting the problem. 

    Bill

     
  • Rob Schroeder
    Rob Schroeder
    2011-09-21

    I have to admit that I always found the Run Configurations manager itself one of the more confusing aspects of Eclipse. I always tend to have some problems seeing which settings apply to which source files and to which run operations… It seems, though, that with your help I managed to import successfully from the jar I mentioned, but now one of the two nrx source files in my project doesn't seem to see the class defined in the other (which compiled ok beforehand).

    By the way, it seems that the .class files always get written to the source folder containing the nrx files, no matter what output folder is specified in the Build path (although even setting the same output folder in the Build path does not solve the problem of the other class not being found)…

    Robert

     
  • Bill Fenlason
    Bill Fenlason
    2011-09-21

    Robert,

    The behavior of writing the class files to the source folder was the original NetRexx design - basically because of class path issues, I think.  Now that NetRexx is open sourced, it may be possible to change the way it operates.  If not, perhaps I can have the plugin move the class files out of the source folder and into a bin folder - I have to look at that. 

    Getting these class path issues flat is current work for me - hopefully we will have some progress by the next update.

    Bill

     
  • Bill Fenlason
    Bill Fenlason
    2011-09-25

    The latest update (2.0.3) solves some of the class path problems - let me know if it works for you now.

    Bill

     
  • Alan Sampson
    Alan Sampson
    2011-10-14

    Hi Bill,

    I finally found some time to install the plugin; nice.

    Is this the appropriate place to report bugs?  I think I found one; the following code (the error is reported against the array argument in the method prototype

    vecs = double[,]
    

    ) is reporting this error in the editor:

    After Left Bracket "",  "[",  "(",  +,  -,  "\",  BOOLEAN,  BYTE,  CHAR,  DOUBLE,  FLOAT,  INT,  LONG,  SHORT,  Single or double quote,  Comment Delimiter,  Space,  Continuation.

    method dotProduct(vecs = double[,]) public constant returns double signals IllegalArgumentException
      return dotProduct(vecs[0], vecs[1])
    

    Despite the marked error, the plugin is able to translate the program into a working program so it is good NetRexx code.

    Regards,
    Alan.

     
  • Jerry McBride
    Jerry McBride
    2011-10-15

    I have eclipse installed, it works for java source editing.. When I start a netrexx project and load a netrexx source, it crashes the bellow. The netrexx pulldown appears in the task bar, but nothing works.. any tips?

    java.lang.NullPointerException
    at editors.NrxEditor.createPartControl(NrxEditor.java:115)
    at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
    at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
    at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
    at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
    at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
    at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
    at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
    at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
    at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1198)
    at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1597)
    at org.eclipse.ui.internal.PartStack.add(PartStack.java:493)
    at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
    at org.eclipse.ui.internal.PartStack.add(PartStack.java:479)
    at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
    at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
    at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
    at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
    at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:808)
    at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:707)
    at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:666)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2942)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2850)
    at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2842)
    at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2793)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2773)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2756)
    at org.eclipse.ui.ide.IDE.openEditorOnFileStore(IDE.java:1155)
    at org.eclipse.ui.internal.ide.actions.OpenLocalFileAction.run(OpenLocalFileAction.java:107)
    at org.eclipse.ui.internal.ide.actions.OpenLocalFileAction.run(OpenLocalFileAction.java:76)
    at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
    at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3588)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3209)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

     
  • Jerry McBride
    Jerry McBride
    2011-10-15

    See the above dump.

    Ive tried a couple of different eclipse versions and still the same error when trying to load ant netrexx source file, extension .nrx.

    I've dumped all the eclipse stuff and just went back using 3.71 for all my java development. Work 100% for java.

    I'd love to get netrexx support up and running…
    If anyone has a tip or pointer, please share.

     
  • Bill Fenlason
    Bill Fenlason
    2011-10-15

    Jerry,

    The error is occurring during the initialization of the editor.  It appears that either the projection viewer or the NetRexx document have not been created - I suspect that it is the document.  I need to understand exactly what steps you are taking to be able to recreate the error and to find out if this the installation was successful or if there is interference from another plugin or some other type of error.

    Please open the Eclipse version with the NetRexx plugin, and try the following:

    1) Create a new Java project by:  Main Menu->  File->  New->  Java Project,  enter "test", then  -> Finish.  (no quotes)

    2) The "test" project should appear in the Project Explorer view.  Double click on "test" so that the "src" source package is visible (or click the + to open it).

    3) Create a new NetRexx file by:  Right click on "src",  -> New  -> File,  enter "try.nrx",  -> Finish.  (no quotes)

    4) The new "try.nrx" file should be shown with the NetRexx icon under the "src" package, the file should be open, and you should be able to edit it. 

    5) Insert the following:  /* try */  say  "Hello Jerry"

    6) Save the file using Ctrl-S, and then Interpret the program using Alt-I. (or by a menu option).

    If the console output is as expected, the installation is OK, and the problem is probably related to the package organization you are using and the location of your NetRexx files. 

    If not, let me know exactly which of the above steps gave unexpected results. 

    If the above does work as expected, remember that all .nrx files must be in an Eclipse Java Project, and not external to Eclipse.  Is that the problem? 

    Bill

    PS to Alan (prior message): this is a minor bug in the NetRexx grammar file.  Will be fixed next release, and as you have seen, should not be a problem.

     
  • Jerry McBride
    Jerry McBride
    2011-10-15

    Darn!  Your are right. I was trying to access sources outside of eclipse. Stupid mistake. All is good now. I moved one of my bigger projects into eclipse and not even a single hiccup. NetRexx is alive and well here now in Eclipse.

    Thank you for the kind reminder.

     
  • Michael Dag
    Michael Dag
    2012-05-09

    Hi Bill,
    nice work and got the plugin to work to do Alt+I to interpret my NetRexx code,
    I was hoping for some code completion but that doesn't seem to work or am I missing something?

    Michael

     
  • Bill Fenlason
    Bill Fenlason
    2012-05-09

    Hi Michael,

    Yes, you are correct that there is no code completion yet.  I have been working on other features and fixes, but perhaps I need to look at that.  What do you have in mind?

    Bill

     
  • Michael Dag
    Michael Dag
    2012-05-09

    my main benefit of other IDE's is getting to know (new) functions/methods of what is available.

    sample:

    /* Hello World */
    HelloPerson = Rexx ''
    HelloPerson = 'Hello World 123'
    say HelloPerson.    <-- pressing . (period) should prompt me the options/functions/methods I can use on this variable for example left(int)

     
  • Bill Fenlason
    Bill Fenlason
    2012-05-09

    Michael,

    Thanks for taking the time to clarify - I'll have to dig into it to see how big a job it will be.  I agree it is important.  I was planning on doing a general help facility (tied to the existing NetRexx language definition document first, but perhaps code completion as you describe it should be implemented ahead of that.

    Bill

    Bill

     
  • epicdave
    epicdave
    2014-06-19

    Hi Bill,

    Just found out that netRexx is open source and being actively worked on -- yaaaay! Fell in love with Rexx while working at IBM and am very excited to be able to use Net Rexx in concert with Java. The plugin seems to be working pretty well - although it was a bit confusing at first to get basic hello world programs to work properly. At first, the output of the 'say' statement was '2000', regardless of what was passed to the statement within the quotes. I was able to work it out, but I think it'll be helpful to augment the current NetRexx docs with some support information about the plugin specifically. I'm about to start a big project for which I'm going to implement NetRexx, so as I go I'll be blogging what I learn. Since I'm going to be keeping notes on what I'm learning, I'm happy to help out where I can with respect to writing support docs/tutorials.