ColdFusion Parser (Front End)

The ColdFusion parser (front end) enables the construction of ColdFusion custom translators, 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 ColdFusion front end includes:

  • Lexical analysis including ASCII, ISO 8859-1 and Unicode
    • 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
    • Capture of HTML/ECMAScript/SQL text fragments between ColdFusion tags as normalized text blobs
  • Explicit grammar implements ColdFusion v11 and earlier dialects
    • Validated on tens of thousands of production ColdFusion v11 files
  • Automatic construction of complete abstract syntax tree
    • Conversion of text blobs to subtrees for language substrings as parsed by DMS's SQL/HTML/or ECMAScript Front ends as appropriate
    • 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
    • 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 ColdFusion front end:

Your organization may use DMS with the ColdFusion front end to implement and deploy your own custom tools. The sample tools can be obtained in source form as part of the ColdFusion 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

ColdFusion Parser
Front End