(IBM) HLASM Parser (Front End)
The HLASM parser (front end) enables the construction of HLASM custom compilers, analysis tools, or source transformation tools. It is a member of SD's family of language front ends, based on first-class infrastructure (DMS) for implementing such custom tools. The HLASM front end includes:
- Lexical analysis including EBCDIC, ASCII and ISO 8859-1
- Conversion of literal values (numbers, escaped strings) into native values to enable easy computation over literal values
- String literals represented internally in Unicode to support 16-bit characters
- Explicit grammar directly implements HLASM as documented by IBM
- HLASM parser Release6
- Includes full conditional assembly and macro processor
- Automatic construction of complete abstract syntax tree
- Capture of comments and formats (shape) of literal values
- Capture of ambiguous parses during parsing
- Ability to parse large systems of files into same workspace, enabling interprocedural and cross-file analysis/transformation
- Ability to parse different languages into same workspace, enabling cross-language analysis/transformation
- Facilities to process syntax trees
- Complete procedural API to visit/query/update/construct/print syntax trees
- Source regeneration by prettyprinting and/or fidelity printing of syntax trees with comments and lexical formats
- Automatically generated source-to-source transformation system
- Ability to define custom attribute-grammar-based analyzers
- Name and Type resolution
- Type representation system for all HLASM types defined
- All identifiers resolved to their HLASM-defined type and stored in symbol tables
- Automatic deletion of erroneous alternatives of ambiguous parses
<-- - Ability to query expression trees for derived type -->
- Ability to condition transforms on identifier type or expression type
- Abilility to visit/query/update symbol tables
- Means to manage multiple language dialects with highly shared common core
Many of these facilities come as a consistent consequence of the front end being built on top of DMS.
Here are some sample tools (many offered by SD as products) built using the HLASM front end:
SD also offers:
- IBM Enterprise COBOL parser (front end)
- IBM JCL parser (front end)
- IBM PL1 parser (front end)
Your organization may use DMS with the HLASM front end to implement and deploy your own custom tools. The sample tools can be obtained in source form as part of the HLASM front end for customization. Semantic Designs is also willing to build custom tools under contract.