SMACS

Package smacs.load

[5] extended AST tree handling generating JDBC snippets.

See:
          Description

Class Summary
ImportMappingList wrap DbMappingTransformListNode.
ImportModule Import SMaCS module.
ImportSchemaList wraps DbSchemaTableListNode only re-exports some calls to be used in a frontend.
ImportScriptList store an sql script.
ImportScriptNode base for nodes in smacs.load namespace.
ImportTargetsList wraps DbTargetValueListNode only re-exports some calls to be used in a frontend.
 

Exception Summary
ImportException wrap a ParseException.
 

Package smacs.load Description

[5] extended AST tree handling generating JDBC snippets.

This is based on the source templates from smacs.findsql.* and uses the extended Node interface from smacs.tree.*

During the course of adapting the source templates from smacs.findsql.* it turned out that some implementation pieces were not quite generic at all. The conversion of source code from using smacs.tree.SimpleNode insteadd of smacs.sql.SimpleNode was yield lots of small changes.

In the end, there are some parts in smacs.find.* being virtually identical code-wise with smacs.findsql.* but working on a very different internal AST. Using that extended AST we can choose different implementation methods for other algorithms. It happens that the mere javacc AST is sometimes a bit uneasy.

Or more formally, the SelinsFile should generate an output AST to be converted to a script in a second step. Only with that output AST we have a chance to add proper optimization routines on the output lanuage. The SelinsFile however is code drawn from the template in smacs.findsql.* and shows how to do it directly with a javacc AST - generating java source code directly.

After all, this is the next step for a proper smacs.tree AST compiler system allowing the amount of subtree unrolling and GCSE methods (common subexpression evaluation detections) that is needed for an extensible optimizing compiler that results in efficient schema mapping applications.


SMACS