SMACS

Package smacs.command

[5] extended AST tree handling generating JDBC snippets.

See:
          Description

Class Summary
SmacsCompile SMaCS compiler.
SmacsCreateScript combine import-to-export tree.
SmacsImportModule wrap ImportModule.
SmacsModule Compiler SMaCS module.
SmacsNodeFixType do SimpleNodeFixType.
SmacsOptionsNode handle frontend commandline options.
SmacsScriptNode base node for smacs.command.
SmacsScriptWriter wrap ExportModule.
 

Package smacs.command 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