Mainframe Blog

Improving the Mainframe Developer Experience with PL/I Incremental Parsing

2 minute read
Vaibhav Jain, Deepak Chopra

Introduction

As developers, we want to know that the code we’re writing is syntactically correct and error-free. It’s essential for the programmer to have a comfortable and uninterrupted computing environment. Moreover, it’s important for a developer to have proper navigation throughout the document they’re working on. This is where incremental parsing comes into the picture.

Let’s explore the need, features, and benefits of PL/I incremental parsing. There are several issues when developing without incremental parsing, including:

  1. The developer must consistently save the file.
  2. There are no real-time code updates as it’s written.
  3. The failure to save the file masks potential code issues.
  4. Excessive time spent saving detracts from focusing on the code.

Incremental Parsing in PL/I

BMC has increased the overall efficiency and reliability of programming by reducing the delay between modifying code and detecting errors in a program by performing syntactic and semantic validation of programs at run time, during the editing phase. With the introduction of incremental parsing to BMC AMI DevX Workbench for Eclipse, we aim to reduce the efforts of saving the file for every change and instead provide an uninterrupted coding experience.

How does it work?

Once a developer makes any change to the PL/I document and takes a pause, the incremental parsing gets triggered.

Let’s look at a small example:

Outline view without saving the file

Figure 1. The changes are being reflected in the Outline view without saving the file.

If there’s any syntax error, we get real-time updates about the error in the Problems view. Moreover, there’s no performance impact from incremental parsing on the developer’s day-to-day work.

Features

PL/I incremental parsing in BMC AMI DevX Workbench for Eclipse:

  • Provides real-time updates in Outline and Problems views, along with problem markers.
  • Supports inclusion of copybooks.
  • Offers incremental parsing of preprocessor statements.
  • Uses undo/redo commands to return to any state of the program.
  • Allows navigating to the code line through Problems view.
  • Works for multiple opened PL/I files.
  • Supports hovering, content assist, code folding, and open declaration.

Benefits

These features improve the overall develop experience and increase efficiency by:

  • Delivering runtime syntactic and semantic validation of programs.
  • Allowing immediate downloading and parsing of new copybooks.
  • Saving time and effort with no waiting.
  • Offering easy navigation.

Conclusion

An uninterrupted programming experience is integral to any developer delivering high-quality work. Incremental parsing and run-time syntactical analysis of code improves the developer experience and helps them focus on what they do best—writing code that serves customers’ needs.

Learn more about BMC’s Eclipse-based mainframe IDE in the BMC AMI DevX Workbench for Eclipse data sheet.

Maximize the Benefits of Your CI/CD Pipeline by Including the Mainframe

Learn how automated development tools are helping mainframe developers meet the urgent need to innovate, increase velocity, and elevate quality—so your back-end workhorse keeps pace with front-end digital transformation.


These postings are my own and do not necessarily represent BMC's position, strategies, or opinion.

See an error or have a suggestion? Please let us know by emailing blogs@bmc.com.

Business, Faster than Humanly Possible

BMC works with 86% of the Forbes Global 50 and customers and partners around the world to create their future. With our history of innovation, industry-leading automation, operations, and service management solutions, combined with unmatched flexibility, we help organizations free up time and space to become an Autonomous Digital Enterprise that conquers the opportunities ahead.
Learn more about BMC ›

About the author

Vaibhav Jain

Vaibhav is a dedicated professional with a passion for software development. Since joining BMC Software in September 2021 as a Staff Specialist Product Developer in the R&D division, he’s been an integral part of the team behind the AMI DevX Workbench for Eclipse, an intuitive interface (IDE) that simplifies Mainframe Software Development. His role revolves around crafting and delivering critical features that enhance the functionality and user experience of the product.

With a strong background in software development and a keen eye for innovation, he thrives on tackling complex challenges and turning them into opportunities for growth. His journey at BMC has not only honed his technical skills but also nurtured his ability to collaborate effectively with cross-functional teams.

He has a diverse professional background spanning various roles in software development and IT management. His expertise encompasses the entire software development life cycle, including requirements analysis, architectural design, development, integration, maintenance, installation, implementation, and testing. He possesses strong programming skills, specializing in Java stack development, and has a deep understanding of data structures and fundamental programming concepts.

About the author

Deepak Chopra

Deepak joined BMC in December 2021 and works as Product Development Manager for the BMC AMI DevX portfolio.

Deepak is responsible for design and delivery of various BMC Products under the BMC AMI DevX portfolio, providing a world-class developer experience which helps customers deliver applications and services to market faster.

Deepak worked with IBM and other IT companies for over two decades before joining BMC. He loves technology and product management and tries his best to help in this area.