RPG Parser
A ready-to-go solution!
Why consider buying a commercial parser? Well, you may need a parser that has been thoroughly tested, documented and one where you have someone to call in case you encounter any problems. License our off-the-shelf RPG parser and make life easier for yourself!
Battle-tested on more than 30 million lines of production RPG code from IBM i (AS/400, iSeries) systems.
Working with RPG
You may want to perform several operations on your RPG code, which our parser might help you with. Let’s discover them.
Ensure quality and consistency in your RPG code. Parse RPG code to detect violations of internal standards and ensure it follows best practices. Ideal for critical systems where quality and long-term maintainability are essential.
Convert RPG to Java, C#, or other targets. Automatically transform RPG into modern languages to simplify platform migrations, unlock new ecosystems, and make your codebase more accessible to today’s developers.
Make safe, large-scale code transformations. Refactor RPG code automatically to introduce improvements, remove technical debt, or restructure complex logic. A scalable way to evolve legacy systems without manual risks.
Run or migrate your RPG code with custom tools. Use our parser to build interpreters or compilers for RPG. Whether you want to execute code on new platforms or gradually phase out RPG, we support flexible modernization strategies.
Build editors with auto-complete and error checking. Create modern development environments for RPG. Add features like syntax highlighting, real-time validation, and intelligent suggestions to support your developers more effectively.
Four reason to Buy
Flexible License
We provide a flexible commercial license, which gives you access to the full documentation. You can choose a Standard, Distribution, or Service License, and our support is included with it.
Why Choose Strumenta's RPG Parser?
RPG is a high-level programming language developed by IBM in the 1960s. Originally designed for business reporting and data processing, it became the dominant language on IBM’s midrange systems, particularly the System/38, AS/400, and IBM i platforms. But with fewer RPG developers available and increasing pressure to modernize, understanding and evolving RPG code is more important than ever.
The same parser is the foundation of our migration work: see RPG to Java and RPG to Python.
01Proven Reliability
02Comprehensive Documentation and Support
03Effortless Integration
Technical specifications
and license details
The RPG Parser provided by Strumenta is a language engine for IBM i (AS/400, iSeries) source code: it processes RPG and DDS sources and returns the information contained in them, organized in an Abstract Syntax Tree (AST).
The parser can be used as a JVM library (Java 11+, from Java or Kotlin), as a command-line tool producing the AST serialized in JSON or XML format, or as an HTTP microservice callable from any programming language. ASTs can also be exported to EMF/Ecore and LionWeb (JSON and Protobuf), the open interoperability standard Strumenta co-founded. No connection to the IBM i is required: you analyse exported source members offline, on laptops or CI servers.
-
When it is used as a library it can be integrated into applications running on the Java Virtual Machine.
-
When the parser is used as a command-line tool, it can provide the AST as an output serialized in either JSON or XML format.
The parser supports RPG IV (ILE RPG), both in the fixed-column and free format (**FREE and /FREE), including all 13 compiler directives (/COPY, /INCLUDE, conditional compilation, and more). It can process SQLRPGLE files: embedded EXEC SQL is parsed through a dedicated DB2 parser, so DDL columns become resolvable RPG symbols. Strumenta can also provide a separate SQL Parser for deeper SQL analysis. It also parses DDS sources — physical files (PF), logical files (LF), display files (DSPF) and printer files (PRTF) — so field references can be resolved to the record formats that define them. RPG II and RPG III are on our roadmap: talk to us.
Beyond parsing, the engine performs whole-codebase symbol resolution: declarations, /COPY members, DDS fields, DB2 columns, subroutines, labels and prototypes are linked across files, and 88 RPG built-in functions are modelled. Parsing is error-tolerant: instead of failing on problematic code, it returns a partial AST plus a list of positioned issues. The parser is backed by 718 automated tests and a regression corpus of 53 open-source RPG repositories (~3,000 files, ~540,000 lines). Below, we report some examples of files processed by the RPG Parser.
- Standard
- Distribution
- Service License
Get the RPG & DDS Language Engine brochure
A two-page PDF with the complete technical overview of our RPG & DDS Language Engine — the evolution of the RPG Parser: RPG IV and DDS coverage, whole-codebase symbol resolution, delivery options, serialization formats and licensing. Leave your email and download it right away.
Try it yourself: Strumenta Playground
Before committing to any tool, it’s only fair to see it in action, and that’s exactly what the Strumenta Playground is for. The Playground is an interactive online space where you can test the capabilities of our RPG parser. Whether you’re exploring how the parser handles specific statements, inspecting the structure of parsed queries, or simply curious about what you can build on top of it, the Playground gives you a hands-on preview.
Stop building from scratch. Start with confidence.
Our production-ready parsers are here when you need them fast, reliable, and battle-tested.