예제 #1
0
 /**
  * <summary>Called when adding a child to a parse tree
  * node.</summary>
  *
  * <param name='node'>the parent node</param>
  * <param name='child'>the child node, or null</param>
  *
  * <exception cref='ParseException'>if the node analysis
  * discovered errors</exception>
  */
 public override void Child(Production node, Node child)
 {
     switch (node.GetId()) {
     case (int) HlslConstants.FILE:
         ChildFile(node, child);
         break;
     case (int) HlslConstants.TECHNIQUE_DECLARATION:
         ChildTechniqueDeclaration(node, child);
         break;
     case (int) HlslConstants.PASS_DECLARATION:
         ChildPassDeclaration(node, child);
         break;
     case (int) HlslConstants.PASS_INSTRUCTIONS:
         ChildPassInstructions(node, child);
         break;
     case (int) HlslConstants.STRUCT_DECLARATION:
         ChildStructDeclaration(node, child);
         break;
     case (int) HlslConstants.FUNCTION_OR_VARIABLE_DECLARATION:
         ChildFunctionOrVariableDeclaration(node, child);
         break;
     case (int) HlslConstants.VARIABLE_DECLARATION_PART:
         ChildVariableDeclarationPart(node, child);
         break;
     case (int) HlslConstants.FUNCTION_PART:
         ChildFunctionPart(node, child);
         break;
     case (int) HlslConstants.PARAMETERS:
         ChildParameters(node, child);
         break;
     case (int) HlslConstants.LIST_OF_PARAMS:
         ChildListOfParams(node, child);
         break;
     case (int) HlslConstants.FUNCTION_PARAM:
         ChildFunctionParam(node, child);
         break;
     case (int) HlslConstants.FUNCTION_BODY:
         ChildFunctionBody(node, child);
         break;
     case (int) HlslConstants.STATEMENT:
         ChildStatement(node, child);
         break;
     case (int) HlslConstants.IF_STATEMENT:
         ChildIfStatement(node, child);
         break;
     case (int) HlslConstants.SWITCH_STATEMENT:
         ChildSwitchStatement(node, child);
         break;
     case (int) HlslConstants.CASE_STATEMENT:
         ChildCaseStatement(node, child);
         break;
     case (int) HlslConstants.WHILE_STATEMENT:
         ChildWhileStatement(node, child);
         break;
     case (int) HlslConstants.DO_STATEMENT:
         ChildDoStatement(node, child);
         break;
     case (int) HlslConstants.FOR_STATEMENT:
         ChildForStatement(node, child);
         break;
     case (int) HlslConstants.PRE_PROCESSOR_DIRECTIVES:
         ChildPreProcessorDirectives(node, child);
         break;
     case (int) HlslConstants.STATEMENT_SCOPE:
         ChildStatementScope(node, child);
         break;
     case (int) HlslConstants.VARIABLE_DECLARATION:
         ChildVariableDeclaration(node, child);
         break;
     case (int) HlslConstants.RETURN_STATEMENT:
         ChildReturnStatement(node, child);
         break;
     case (int) HlslConstants.VARIABLE_ASSIGNMENT:
         ChildVariableAssignment(node, child);
         break;
     case (int) HlslConstants.VARIABLE_ASSIGNMENT_WITHOUT_DOT_COMMA:
         ChildVariableAssignmentWithoutDotComma(node, child);
         break;
     case (int) HlslConstants.CONDITION:
         ChildCondition(node, child);
         break;
     case (int) HlslConstants.INITIALIZERS:
         ChildInitializers(node, child);
         break;
     case (int) HlslConstants.EXPRESSION:
         ChildExpression(node, child);
         break;
     case (int) HlslConstants.EXPRESSION_TAIL:
         ChildExpressionTail(node, child);
         break;
     case (int) HlslConstants.TERM:
         ChildTerm(node, child);
         break;
     case (int) HlslConstants.TERM_TAIL:
         ChildTermTail(node, child);
         break;
     case (int) HlslConstants.FACTOR:
         ChildFactor(node, child);
         break;
     case (int) HlslConstants.ATOM:
         ChildAtom(node, child);
         break;
     case (int) HlslConstants.FUNCTION_CONSTRUCTOR_CALL_OR_VARIABLE_DECLARATION:
         ChildFunctionConstructorCallOrVariableDeclaration(node, child);
         break;
     case (int) HlslConstants.PART_OF_PROPERTY_SPECIFICATION:
         ChildPartOfPropertySpecification(node, child);
         break;
     case (int) HlslConstants.PART_OF_CONSTRUCTOR_CALL:
         ChildPartOfConstructorCall(node, child);
         break;
     case (int) HlslConstants.PART_OF_VARIABLE_DECLARATION:
         ChildPartOfVariableDeclaration(node, child);
         break;
     case (int) HlslConstants.PART_OF_VARIABLE_ASSIGNMENT:
         ChildPartOfVariableAssignment(node, child);
         break;
     case (int) HlslConstants.STORAGE_CLASS:
         ChildStorageClass(node, child);
         break;
     case (int) HlslConstants.TYPE_MODIFIER:
         ChildTypeModifier(node, child);
         break;
     case (int) HlslConstants.TYPE:
         ChildType(node, child);
         break;
     case (int) HlslConstants.VECTOR_EXP:
         ChildVectorExp(node, child);
         break;
     case (int) HlslConstants.VECTOR_EXP_TYPE:
         ChildVectorExpType(node, child);
         break;
     case (int) HlslConstants.VECTOR_EXP_NUMBER:
         ChildVectorExpNumber(node, child);
         break;
     case (int) HlslConstants.VECTOR_EXP_TYPE_NUMBER:
         ChildVectorExpTypeNumber(node, child);
         break;
     case (int) HlslConstants.MATRIX_EXP:
         ChildMatrixExp(node, child);
         break;
     case (int) HlslConstants.BASIC_TYPE:
         ChildBasicType(node, child);
         break;
     case (int) HlslConstants.SEMANTICAL_PARAMETERS:
         ChildSemanticalParameters(node, child);
         break;
     case (int) HlslConstants.INPUT_SEMANTICAL_PARAMETERS:
         ChildInputSemanticalParameters(node, child);
         break;
     case (int) HlslConstants.OUTPUT_SEMANTICAL_PARAMETERS:
         ChildOutputSemanticalParameters(node, child);
         break;
     case (int) HlslConstants.IN_OUT_SEMANTICAL_PARAMETERS:
         ChildInOutSemanticalParameters(node, child);
         break;
     case (int) HlslConstants.ASSIGNMENT_OPERATOR:
         ChildAssignmentOperator(node, child);
         break;
     case (int) HlslConstants.PREFIX_POSTFIX_OPERATORS:
         ChildPrefixPostfixOperators(node, child);
         break;
     case (int) HlslConstants.COMPARISON_OPERATORS:
         ChildComparisonOperators(node, child);
         break;
     case (int) HlslConstants.BOOLEAN_OPERATORS:
         ChildBooleanOperators(node, child);
         break;
     case (int) HlslConstants.IN_OUT_INOUT:
         ChildInOutInout(node, child);
         break;
     case (int) HlslConstants.REGISTER_FUNC:
         ChildRegisterFunc(node, child);
         break;
     case (int) HlslConstants.PACKOFFSET_FUNC:
         ChildPackoffsetFunc(node, child);
         break;
     case (int) HlslConstants.IDENTIFIER_COMPOSED:
         ChildIdentifierComposed(node, child);
         break;
     case (int) HlslConstants.COMPOSE_IDENTIFIER:
         ChildComposeIdentifier(node, child);
         break;
     case (int) HlslConstants.IDENTIFIER_COMPOSED_REQUIRED:
         ChildIdentifierComposedRequired(node, child);
         break;
     case (int) HlslConstants.FLOW_CONTROL_WORDS:
         ChildFlowControlWords(node, child);
         break;
     case (int) HlslConstants.WHILE_FOR_ATTRIBUTES:
         ChildWhileForAttributes(node, child);
         break;
     case (int) HlslConstants.IF_SWITCH_ATTRIBUTES:
         ChildIfSwitchAttributes(node, child);
         break;
     case (int) HlslConstants.SEMANTIC_MATRIXES:
         ChildSemanticMatrixes(node, child);
         break;
     case (int) HlslConstants.WS:
         ChildWs(node, child);
         break;
     }
 }