SMACS

Package smacs.tree.defs

ParseTree SimpleNode to Sementic Subtype NodeAttribution.

See:
          Description

Class Summary
DdlTableDeclarationQ DdlTableDeclaration.java semantic wrapper.
InputDdlTableDeclaration DdlTableDeclaration.java semantic wrapper.
InputNode wrapper around SimpleNode.
InputSqlAllDistinctHint SqlAllDistinctHint.java semantic wrapper.
InputSqlAsObjectName InputSqlFieldName.java semantic wrapper.
InputSqlDataTypeFieldDeclaration SqlDataTypeFieldDeclaration.java semantic wrapper.
InputSqlExistsIntoClause SqlExistsIntoClause.java semantic wrapper.
InputSqlExistsNewIntoClause SqlExistsNewIntoClause.java semantic wrapper.
InputSqlFieldList SqlFieldList.java semantic wrapper.
InputSqlFieldName SqlFieldName.java semantic wrapper.
InputSqlForeignKeyFieldDeclaration SqlForeignKeyFieldDeclaration.java semantic wrapper.
InputSqlFromClause SqlFromClause.java semantic wrapper.
InputSqlFromItem SqlFromItem.java semantic wrapper.
InputSqlInsertFromStatement SqlInsertFromStatement.java semantic wrapper.
InputSqlInsertIntoClause SqlInsertIntoClause.java semantic wrapper.
InputSqlInsertIntoStatement SqlInsertIntoStatement.java semantic wrapper.
InputSqlInsertNewFromStatement SqlInsertNewFromStatement.java semantic wrapper.
InputSqlInsertNewIntoClause SqlInsertNewIntoClause.java semantic wrapper.
InputSqlInsertTransformStatement SqlInsertTransformStatement.java semantic wrapper.
InputSqlIntoTable SqlIntoTableClause.java semantic wrapper.
InputSqlIntoTableClause SqlIntoTableClause.java semantic wrapper.
InputSqlMaterializedCursor SqlMaterializedCursor.java semantic wrapper.
InputSqlOldNewHint SqlOldNewHint.java semantic wrapper.
InputSqlSelectItem SqlSelectItem.java semantic wrapper.
InputSqlSelectStatement SqlSelectStatement.java semantic wrapper.
InputSqlSelectWhereClause SqlSelectWhereClause.java semantic wrapper.
InputSqlTableColumn SqlTableColumn.java semantic wrapper.
InputSqlTableDeclaration SqlTableDeclaration.java semantic wrapper.
InputSqlTableExpression SqlTableExpression.java semantic wrapper.
InputSqlTableReference SqlTableReference.java semantic wrapper.
InputSqlUniqueKeyFieldDeclaration SqlUniqueKeyFieldDeclaration.java semantic wrapper.
InputSqlUpdateIntoClause SqlUpdateIntoClause.java semantic wrapper.
InputSqlUpdateNewIntoClause SqlUpdateNewIntoClause.java semantic wrapper.
InputSqlUpsertIntoClause SqlUpdateIntoClause.java semantic wrapper.
InputSqlUpsertNewIntoClause SqlUpdateNewIntoClause.java semantic wrapper.
InputSqlWhereClause SqlWhereClause.java semantic wrapper.
InputSqlWithOptions SqlWithOptions.java semantic wrapper.
SqlAllDistinctHintQ SqlAllDistinctHint.java semantic wrapper.
SqlAsObjectNameQ SqlFieldNameQ.java semantic wrapper.
SqlDataTypeFieldDeclarationQ SqlDataTypeFieldDeclaration.java semantic wrapper.
SqlExistsIntoClauseQ SqlExistsIntoClause.java semantic wrapper.
SqlExistsNewIntoClauseQ SqlExistsNewIntoClause.java semantic wrapper.
SqlFieldListQ SqlFieldList.java semantic wrapper.
SqlFieldNameQ SqlFieldName.java semantic wrapper.
SqlForeignKeyFieldDeclarationQ SqlForeignKeyFieldDeclaration.java semantic wrapper.
SqlFromClauseQ SqlFromClause.java semantic wrapper.
SqlFromItemQ SqlFromItem.java semantic wrapper.
SqlInsertFromStatementQ SqlInsertFromStatement.java semantic wrapper.
SqlInsertIntoClauseQ SqlInsertIntoClause.java semantic wrapper.
SqlInsertIntoStatementQ SqlInsertIntoStatement.java semantic wrapper.
SqlInsertNewFromStatementQ SqlInsertNewFromStatement.java semantic wrapper.
SqlInsertNewIntoClauseQ SqlInsertNewIntoClause.java semantic wrapper.
SqlInsertTransformStatementQ SqlInsertTransformStatement.java semantic wrapper.
SqlIntoTableClauseQ SqlIntoTableClause.java semantic wrapper.
SqlIntoTableQ SqlIntoTableClause.java semantic wrapper.
SqlMaterializedCursorQ SqlMaterializedCursor.java semantic wrapper.
SqlOldNewHintQ SqlOldNewHint.java semantic wrapper.
SqlSelectItemQ SqlSelectItem.java semantic wrapper.
SqlSelectStatementQ SqlSelectStatement.java semantic wrapper.
SqlSelectWhereClauseQ SqlSelectWhereClause.java semantic wrapper.
SqlSimpleNodeQ wrapper around SimpleNode.
SqlTableColumnQ SqlTableColumn.java semantic wrapper.
SqlTableDeclarationQ SqlTableDeclaration.java semantic wrapper.
SqlTableExpressionQ SqlTableExpression.java semantic wrapper.
SqlTableReferenceQ SqlTableReference.java semantic wrapper.
SqlUniqueKeyFieldDeclarationQ SqlUniqueKeyFieldDeclaration.java semantic wrapper.
SqlUpdateIntoClauseQ SqlUpdateIntoClause.java semantic wrapper.
SqlUpdateNewIntoClauseQ SqlUpdateNewIntoClause.java semantic wrapper.
SqlUpsertIntoClauseQ SqlUpdateIntoClause.java semantic wrapper.
SqlUpsertNewIntoClauseQ SqlUpdateNewIntoClause.java semantic wrapper.
SqlWhereClauseQ SqlWhereClause.java semantic wrapper.
SqlWithOptionsQ SqlWithOptions.java semantic wrapper.
 

Package smacs.tree.defs Description

ParseTree SimpleNode to Sementic Subtype NodeAttribution.

This directories contains classes derived from NodeExtendedAttribute. They are instantiated for each SimpleNode objects in the parse tree.

// - assemble all helper functions into these classes // remember that instances of these class are attributes! // therefore modifications will not change the parse tree!

The common usage is something like

{
   List list = tree.selectNodes("MyNodeName");
   for (int i=0, ii=list.size(); i &;  ii; ++i) {
       MyNodeName node = new MyNodeName(list.get(i));
       MySubNode entry = node.declaredMySubNode();
       callForEntry(entry);
   }
}

Per convention: - all classes are specific subtypes of InputNodeAttribute - all classes are created as attribute to their argument - all return values of methods are also attributes unless - the method starts with "get*()", e.g. getName() - the type of the returned attribute is given in the method name

therefore, a method "object.declaredSubNode()" will return a copy of some child of that object with a SimpleNode-attribute known as "class InputSubNode". If the method would have been named as "getSubNode()" it would return a reference to the child node instead of a attribute. The reference would be a plain SimpleNode.

The usual implementation has a "public SimpleNode parent" member that points back to the original node. The "orig" member is actually useful for those algorithms that cut out a part of the parsetree and quickly modify some values that the hold state of the algorithm. It allows you to easily dump the internal state of the algorithm as xml, and call other algorithms built on top of a smacs.tree as well.


SMACS