Linux IDE - beta

Marian EDU

Member
Had that crazy idea of building my own Eclipse based Progress IDE for Linux some time ago and finally got it in an usable phase, so if anyone interested by something like that and willing to pass through a (probably) bug-discovery quest while giving it a try please contact me off-list (medu at ganimede dot ro).

What is already there:
- workspace & project configuration
- propath & builpath configuration
- database configuration
- runtime configuration, multiple AVM are supported (probably as low as version 8), shared AVM
- builder (compile project)
- check syntax
- ABL errors in error panel with file markers
- syntax highlight, code completion, outline (the syntax support need to be extended thought... this is mostly 'experimental' right now)

Regards,
Marian
 

Cringer

ProgressTalk.com Moderator
Staff member
I don't use Linux so I'm not interested myself, but I'd imagine you'll get a few people wanting to see it. Good work! :)
 

Stefan

Well-Known Member
Wow, nice one!

What reference(s) did you use for the Eclipse side of things? (I've made a few five second attempts at creating a Z80 assembler plug-in, but my complete lack of java skills seems to get in the way).
 

Marian EDU

Member
Wow, nice one!

What reference(s) did you use for the Eclipse side of things? (I've made a few five second attempts at creating a Z80 assembler plug-in, but my complete lack of java skills seems to get in the way).

Stefan, think you'll need to put more than five seconds in those attempts if you want to get anywhere :)

Core Java is not that hard to digest, Eclipse, OSGi and all those plug-ins is a different story... if you're in a hurry guess one of the best reference will be 'Eclipse Plug-ins' by Eric Clayberg & Dan Rubel, this can get you started but Eclipse as a framework and all the plug-ins that were build around evolves all the time so it's kind of hard for authors to keep up with the developers ;)
 

Stefan

Well-Known Member
Stefan, think you'll need to put more than five seconds in those attempts if you want to get anywhere :)

Core Java is not that hard to digest, Eclipse, OSGi and all those plug-ins is a different story... if you're in a hurry guess one of the best reference will be 'Eclipse Plug-ins' by Eric Clayberg & Dan Rubel, this can get you started but Eclipse as a framework and all the plug-ins that were build around evolves all the time so it's kind of hard for authors to keep up with the developers ;)

928 pages... there go a few more five second attempts ;) - thanks for the tip! I think I've actually run into multiple references to this book while trawling through the eclipse wiki and help pages. I've had a side glance at an / the asm plug-in, but just adapting this feels too cheap.
 

Stefan

Well-Known Member
Maybe a few words on how to install it? (Win7 x64)

I thought it was eclipsey - and the folder structure looked like eclipse, so I copied it over my eclipse installation (after creating a backup). I can now confirm that it starts stand-alone...

It did think it could build my work space immediately... where is it getting its database connections from?!? Tried stopping the build and it replied by simply no longer responding. Killed it. Restarted it, and now it shows the splash screen and simply returns to not responding while hogging one core.
 

Marian EDU

Member
Maybe a few words on how to install it? (Win7 x64)
I thought it was eclipsey - and the folder structure looked like eclipse, so I copied it over my eclipse installation (after creating a backup). I can now confirm that it starts stand-alone...

It is Eclipse but was build as a stand-alone product, maybe a 'integrate script' could be added... it's been built on Indigo, what was your initial Eclipse version?

It did think it could build my work space immediately... where is it getting its database connections from?!?
It's on last page of project properties if project specific settings is not checked it will use the one from workspace level... 'Configure Workspace settings' link.

Tried stopping the build and it replied by simply no longer responding. Killed it. Restarted it, and now it shows the splash screen and simply returns to not responding while hogging one core.
Anything in the log file that might prove useful? (workspace/.metadata/.log)
 

Stefan

Well-Known Member
I didn't want to integrate it with eclipse, I just thought I had to (due to lack of installation instructions). It's sitting in its own folder now and insisting it finish refreshing my project (with approx 8000 source files):

Code:
!SESSION 2012-05-12 16:05:19.802 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=nl_NL
Command-line arguments:  -os win32 -ws win32 -arch x86_64


!ENTRY org.eclipse.core.resources 2 10035 2012-05-12 16:05:22.275
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

What I meant with the database connection remark, is that it decided to refresh my project before I got a chance to add database connections, so it can only be generating compile errors for most of my sources.
 

Marian EDU

Member
I didn't want to integrate it with eclipse, I just thought I had to (due to lack of installation instructions).
right, guess a few words in a plain readme file won't hurt :)

What I meant with the database connection remark, is that it decided to refresh my project before I got a chance to add database connections, so it can only be generating compile errors for most of my sources.
indeed, that makes lots of sense so a new page for database selection need to be added in the project wizard... thanks

think you can get along this now be cleaning the workspace, set the auto build to false and re-create the project... then once you got the chance to set the database connections you can turn auto-build back to on
 

Stefan

Well-Known Member
I have no idea what is going on, so have decided to start a new project and one simple .p. I am getting all sorts of strange messages, 5 times syntax check will say ok, and the sixth time it will throw:

String index out of range: -1.

Log contains: !MESSAGE org.eclipse.xtext.ui.shared.internal.Activator - Disabling JDT use. : org/eclipse/jdt/core/JavaCore
And if I keep syntax checking:

Internal error - Unable to reset Progress run-time.

So I restart the run time - it reports OK, compile again and the string index out of range error pops up again.

So back to an even simpler project with one file with a temp-table and a find:

Code:
define temp-table tt no-undo field cc as character.


find first tt where tt.cc = "hello" no-error.

And it's throwing warnings at me (alongside the string errors above) about:

- missing '.' at tt
- no viable alternative at input 'first'
- couldn't resolve reference to attribute 'tt'
- mismatched input '.' expecting '='
- couldn't resolve reference to Attribute 'cc'

Am I doing really weird stuff?
 

Marian EDU

Member
Am I doing really weird stuff?
Beside spending your Sunday evening on something not beer/alcohol/sport... (let's keep that politically correct) :)

Thought I've switch-off the semantic syntax warnings before the build but it turns out that I forgot to do it... you can do that from the preferences->zamolxis->editor->syntax validation page by checking 'disable semantic validation' and set syntax error report to 'none'.

Now, a bit of explanation about why all those warnings (actually errors but reported as warnings)... behind the scene a full syntax model is being build and the syntax is actually being checked pretty much like what a compiler will do. This is because I need to have 'references', like when a variable is being used, a table or a buffer, a class or given property of method of a class to be able to add context dependent code completion and hopefully other nice features like 'call hierarchy' and refactoring. The only issue now is that only a part of Progress syntax is implemented, everything else looks invalid for the syntax validation module... I have that 'errors' reported as warnings to help me add the missing pieces but right now I can live with letting the Progress compiler do the actual work.

Thanks for taking the time to look over it, I'll probably contact you directly when I do a new build... guess that could also be the reason for which compiling your large project takes so long, there must be a very large number of those kind of warnings reported - those 'markers' a kind of very light resources but it definitively takes some time to report such a huge numbers :(
 

Stefan

Well-Known Member
I see. There were actually 900,000 warnings after my 8,000 sources were compiled. As a result I was unable to delete the project (out of memory errors), but eventually a close project followed by delete project did manage to get rid of it.

For the reference stuff are you using proparse or are you reinventing the wheel? (I would think the latter because a. it's more fun and b. if you had, it would have worked ;-))
 

Marian EDU

Member
For the reference stuff are you using proparse or are you reinventing the wheel? (I would think the latter because a. it's more fun and b. if you had, it would have worked ;-))
Hate to disappoint you but I don't do either, well in a way... proparse is build on ANTLR which is also what I use only that I don't work with the AST but with a 'model', and no... it does not have 'references' built in so it would not have worked anyway :(

I would try again with the syntax check turn off and see if you can get the project to compile, the database connection page is being added to the new project wizard... again, thanks for the suggestion :)
 

Stefan

Well-Known Member
:)

What is your favorite format for feedback? For now I'll just keep noting everything down.

1. I still cannot get a propath working. I have my.p and my.i both located in the main project folder, I have added the main project to the build libraries - compiling is not finding my.i. I had a quick look at startLocal.p - I'm not sure if this is being used, but it seems to only set the propath for classes?
2. default workspace directory is not allowed on a locked down windows system (users cannot create folders in program files folder)
3. i am still an upper case keyword person (see thread on psdn a few weeks back) - the full stop does not 'terminate' a word and case it - on the other hand you've beaten the OEA / PDS editor by casing on tab.
4. you may want to implement a smart caret (or something) - the default eclipse behavior with ctrl left / ctrl right is not smart enough and is see all hyphens as word breakers
 

Marian EDU

Member
time for me to come up with a public interface for bug reporting... guess will hog the progresstalk site with stuff that have little use for others and I do have to grab all those valuable comment in my system anyway.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
Hi Marian,

I have x86 Zamolxis running on Windows and would like to try the Database Editor module; it's not clear to me how to do that. Is it a separate plug-in? Can you point me in the right direction please?
 

Marian EDU

Member
Hi Marian,

I have x86 Zamolxis running on Windows and would like to try the Database Editor module; it's not clear to me how to do that. Is it a separate plug-in? Can you point me in the right direction please?

Hi Rob, was out for holidays and somehow the site didn't load on my old BB to be able to reply earlier. The ERD module was not yet integrated inside Zamolxis and because it uses some other Eclipse projects (graphical modeling) I still have to get the correct list of required features to have them integrated, this will probably happen by the end of the month and there will be a normal Eclipse update site available, until then both the IDE and the ERD were packed as stand-alone 'products'. Normally if you download both and have the plugins 'merged' in a single place you should have them working just fine.
 
Top