Umbrella category for all tools, utilities, projects, and topics which have to do with any sort of examination of 4gl/ABL source code.
This book is for Joanju's (now open source) 4GL/ABL parser.
C++ DLL, Java jar
There are two flavors of Proparse. The original (2001-2008) is the C++ DLL. The new port of to Java (July 2008) is tightly associated with the ProRefactor project, and its source is in that repository.
Download
You can find pre-built binaries (DLL and .jar) on Joanju's Proparse page at
joanju.com/proparse/.
Documentation
The documentation is available online here:
www.joanju.com/dist/index.html
These pages are for exploring ideas and designing a new AST and/or "Intermediate Representation" tree for further semantic analysis of 4GL/ABL source code.
The output of Proparse and ProRefactor will be used to generate an IR tree which is more appropriate for control flow, data flow, and other kinds of analysis.
John has started some initial work on a Java/Eclipse variant of Prolint. This variant of Prolint has the advantage of easy access to ProRefactor's output - especially its symbol tables and scoping information.
Questions about getting the original Prolint into Eclipse, and other "project direction" type questions, are completely unanswered. It's all very open for you to dive in, write some code, and help determine how best to make Prolint an integral part of working with 4GL/ABL in Eclipse and OpenEdge Architect.
Prolint is a tool for automated source code review of Progress 4GL code. It reads one or more sourcefiles and examines it for bad programming practice
When you are interested Prolint, you are encouraged to subscribe to this group where you find the on-line tools to collaborate and discuss Prolint. There is a discussion forum, you can submit issues (for bugs and enhancement requests), you can modify the on-line documentation, and best of all: there is an e-mail list. So subscribe, and then don't forget to go to your subscription details to enable the e-mail notification!
The ProStyle project uses various features from Proparse in order to pretty-print P4GL/ABL.
AutoDox is an automated code documentor which uses Proparse to find significant features in your programs and then output details of these features in HTML documents. Some features so far reported in the generated documents are a program's parameters, internal procedures and functions, as well as comments where possible.
This project gathers various small utilities related to parsing code. This includes tools for viewing or converting Proparse's syntax tree, utilities for find and report, utilities for search and replace, etc.
PRO/Dox by Gordon Campbell takes AutoDox in two whole new directions. First, it generates XML instead of HTML, so that documentation can more easily be rendered in other formats (Word, PDF, etc). Second, it generates wire-frame diagrams of the frames it finds in your source code!
ProRefactor is a Java library for extending Proparse (joanju.com/proparse). At its core, it slurps Proparse's syntax tree into a tree of plain old Java objects, and further processes that tree to add symbol tables and other useful information.
ProRefactor has been used for building tools for code analysis, lint, documentation, search and replace, and more.
ProRefactor is available as an Eclipse plug-in and as a standalone Java archive (.jar) file.