PL/SQL Parser (Front End)

The PL/SQL parser (front end) enables the construction of PL/SQL 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 PL/SQL front end includes:

  • Lexical analysis including 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 implements Oracle's PL/SQL language
  • Automatic construction of complete abstract syntax tree
    • Capture of comments and formats (shape) of literal values
    • 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
  • Available as source code to enable complete customization
    • Means to manage multiple language dialects with highly shared common core
    • 10g
    • 11g under development
    • Earlier dialects on demand
  • Robustness due to careful testing and application across many customers

Many of these facilities come as a consistent consequence of the front end being built to top of DMS.

Here are some sample tools (many offered by SD as products) built using the PL/SQL front end:

SD also offers:

  • SQL parser (front end)

Your organization may use DMS with the PL/SQL front end to implement and deploy your own custom tools. The sample tools can be obtained in source form as part of the PL/SQL front end for customization. Semantic Designs is also willing to build custom tools under contract.

For more information: [email protected]    Follow us at Twitter: @SemanticDesigns

PL/SQL Parser
Front End