00001 00014 #ifndef SEGSPDATA_H_INCLUDED 00015 #define SEGSPDATA_H_INCLUDED 00016 #include "segSpData.h" 00017 #endif 00018 #ifndef SEGGRAMMAR_H_INCLUDED 00019 #define SEGGRAMMAR_H_INCLUDED 00020 #include "segGrammar.h" 00021 #endif 00022 00023 #define EMIT 0 00024 #define NONEMIT 1 00025 #define NONEMIT_F 2 00026 #define RECOGNITION 0 00027 #define CLASSIFICATION 1 00028 #define TRAINING 2 00036 typedef struct segSyntaxItem { 00037 int nodeType; 00038 long numPStates; 00039 long *prevStates; 00040 double *prevProb; 00041 SEG_MODEL *segModel; 00042 SEG_STATE *stateDef; 00043 double initCost; 00044 double exitCost; 00045 } SEG_SYNTAX_ITEM; 00046 00053 typedef struct segSyntax { 00054 long numNodes; 00055 short vecSize; 00056 short targetVecSize; 00057 SEG_SYNTAX_ITEM *nodeList; 00058 } SEG_SYNTAX; 00059 00060 /* prototype declaration */ 00061 int segMakeTrainingSyntax(SEG_SYNTAX*, int*, SEG_UTT_LIST_ITEM*, SEG_MODEL_SET*); 00062 int segMakeRecognitionSyntax(SEG_SYNTAX*, SEG_MODEL_SET*, SEG_GRAMMAR*, double, int); 00063 int segCheckSyn(SEG_MODEL_SET*, SEG_SYNTAX*); 00064 int segFreeSyntaxMemory(SEG_SYNTAX*, int); 00065