Proparse Readme
Version 3.1c02
Proparse is a dynamic linked library which parses Progress 4GL source code.
It is packaged with a few tools and examples
to show how you can access its API via programs written in the 4GL.
www.joanju.com/proparse/
is where you can find executable builds (downloads) for Windows and a few other platforms.
www.oehive.org/proparse/
is where you can find the open source project.
Proparse is free and it is an open source project, but Joanju does provide
commercial services. Please visit
www.joanju.com.
Email List
In addition to the project issues list and forums on oehive.org,
there is a Proparse list on the Progress Email Group.
You can find the Proparse mailing list on the subscriptions page at
www.peg.com.
Simple Demonstration
Depending on how you have Progress set up on your computer,
you should be able to double-click on try_me.p
to pull it up in the Progress Procedure Editor,
then run it. It has a few message dialogs to explain what it is up to.
Test Run
Assuming that Proparse can be found within your PROPATH, you can do a
simple test run to validate that Proparse is able to parse your source
code without error. From your development environment (databases connected,
PROPATH set, etc), simply RUN proparse/launcher.w
.
(Note: If any of your programs use database alias names,
then you must first tell Proparse about those -
otherwise there will be parse errors.
See:
Database Alias Names
)
There are many types of tools that will be built based on proparse.dll
.
Here's a few:
- Pretty printer
- Code browser
- Automatic code documenter
- Code analysis (search for things too complex for regular expressions)
- Source code morphing
We will provide as many open source tools and examples as we can.
A few examples are included with Proparse.
Prolint
The biggest project using Proparse that we are aware of is Prolint,
a open-source lint for Progress source code.
Lint tools warn you about things in your source code
that your probably didn't mean to do, like define a variable and never use it.
Jurjen Dijkstra is the initiating author and manages all contributions.
Prolint can be found at:
www.prolint.org.
Proparse should be able to work with most
of your source code without error. Please let us know if you find something
that Progress can compile but Proparse can't parse, and we'll fix it right away.
-
No support yet for octal escape sequences (~nnn) in source code.
-
No support yet for semicolon escape sequences in source code.
-
There are a number of preprocessor functions that we have not yet
added support for.
If you run across one of those, please let us know and we'll add it in right away.
-
No support yet for multi-byte characters in your source code.
-
No support for keyword forget lists.
-
Support for correlation names in SELECT statements has not been added yet.
Other than that, SQL grammar support is done, but is largely untested.
We'd really appreciate feedback from folks who work with a lot of SQL
statements in their code.
Proparse is released under the terms of the Eclipse Public License, version 1.0.
www.eclipse.org/legal/epl-v10.html