SAS 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 SAS parser — now evolved into the SAS Language Engine — and make life easier for yourself.
Processing SAS code since 2018 — clients in North America, Hong Kong, and Europe.
Working with SAS
You may want to perform several operations on your SAS code, which our parser might help you with. Let’s discover them.
Parse SAS code to check for syntax errors, enforce coding standards, ensure consistency across large codebases, discover obsolete tables that should be replaced, and inefficient code patterns that could be optimized. This is especially useful for automated code reviews and maintaining quality over time.
Build a complete inventory of your SAS estate: programs, DATA steps, PROCs and macros, with %INCLUDE and macro-catalog dependencies traced across files — the map you need before any modernization effort.
Automatically refactor legacy SAS, such as converting deprecated syntax, splitting monolithic procedures into smaller, modular components.
Can analyze existing SAS code and extract key metadata to generate structured documentation: listing procedures and parameters, generating data flow diagrams, and creating entity-relationship diagrams to understand the database structure.
Convert SAS to SQL, Python, or platforms like Spark and Databricks. Transpilers built on this parser have processed tens of millions of lines of SAS code.
Can track how data is processed within SAS applications, such as which tables are read and under what conditions, how values are transformed throughout the code, and where the resulting data is stored. Understanding data lineage is crucial for ensuring data accuracy, quality, and compliance.
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 SAS Parser?
SAS has long been the go-to language for advanced analytics, statistical modeling, and data processing in enterprise environments. But as organizations move toward open-source and cloud-based alternatives, maintaining legacy SAS code becomes a growing challenge. Transpilers built on this parser have processed tens of millions of lines of SAS code.
01Proven Reliability
02Comprehensive Documentation and Support
03Effortless Integration
Technical specifications
and license details
The Strumenta SAS Language Engine — born as the evolution of our SAS Parser — is a software component that processes SAS code and returns the information contained in it, organized in an Abstract Syntax Tree (AST). It covers the DATA step (28 statement kinds), 23 PROC steps — with deep support for PROC SQL, DATASETS, FREQ, MEANS, SORT, TRANSPOSE and TIMESERIES — the full macro language, and statements such as LIBNAME, OPTIONS, FILENAME, TITLE and ODS.
It can be used as a JVM library (Java 8+, from Java or Kotlin) or as a command-line tool, producing the AST as JSON or EMF/Ecore (XMI); the latest release also exports ASTs and the full metamodel to LionWeb, the open interoperability standard Strumenta co-founded. Parsing is error-tolerant: problematic code returns a partial AST plus a list of positioned issues instead of an exception. No SAS installation or server connection is required: you analyse exported .sas files offline, on laptops or CI servers.
The engine is documented on a dedicated site, sas.strumenta.com, with a versioned AST reference, an interactive AST viewer, and a cookbook covering data lineage, program inventory, macro analysis and cross-file dependencies.
-
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.
One of the most challenging aspects of parsing SAS is handling macros, which introduce significant complexity due to their ability to generate dynamic code. Our parser supports macro recognition without expansion; correctly processes nested macros, parameterized macros, and macro-generated code whenever technically possible; and lazily parses macro bodies on demand, preserving the logic and structure of your SAS programs.
Embedded SQL is a first-class citizen: PROC SQL is the largest part of the grammar — SELECT INTO macro variables, CREATE TABLE/VIEW/INDEX, all join types, window functions — and pass-through native SQL is captured verbatim and can optionally be re-parsed.
The parser is backed by 151 automated tests and a regression corpus of real-world open-source SAS code, and has been in continuous development since 2021 (11 releases, the latest in July 2026).
- Standard
- Distribution
- Service License
Get the SAS Language Engine brochure
A two-page PDF with the complete technical overview of our SAS Language Engine — the evolution of the SAS Parser: language coverage, macro handling, embedded SQL, 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 parsers. 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.