14a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/*---------------------------------------------------------------------------*
24a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  SR_GrammarImpl.h  *
34a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
44a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Copyright 2007, 2008 Nuance Communciations, Inc.                               *
54a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
64a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the 'License');          *
74a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  you may not use this file except in compliance with the License.         *
84a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
94a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  You may obtain a copy of the License at                                  *
104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0                           *
114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software      *
134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  distributed under the License is distributed on an 'AS IS' BASIS,        *
144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  See the License for the specific language governing permissions and      *
164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *  limitations under the License.                                           *
174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *                                                                           *
184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project *---------------------------------------------------------------------------*/
194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#ifndef __SR_GRAMMARIMPL_H
214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#define __SR_GRAMMARIMPL_H
224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ArrayList.h"
264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "HashMap.h"
274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "SR_Grammar.h"
284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "SR_Nametags.h"
294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ESR_ReturnCode.h"
304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "ESR_SessionType.h"
314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "SR_EventLog.h"
324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "SR_Recognizer.h"
334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/* Semproc stuff */
354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "SR_SemanticGraph.h"
364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "SR_SemanticProcessor.h"
374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#include "simapi.h"
414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * SR_Grammar implementation.
444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Projecttypedef struct SR_GrammarImpl_t
464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project{
474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Interface functions that must be implemented.
494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  SR_Grammar Interface;
514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Associates a grammar with a Recognizer.
544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param self SR_Grammar handle
564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param recognizer The recognizer
574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  // ESR_ReturnCode(*setupAcousticModels)(SR_Grammar* self, SR_AcousticModels* models);
594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ESR_ReturnCode(*setupRecognizer)(SR_Grammar* self, SR_Recognizer* recognizer);
604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Dissociates a grammar from a Recognizer.
624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   *
634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * @param self SR_Grammar handle
644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ESR_ReturnCode(*unsetupRecognizer)(SR_Grammar* self);
664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Legacy CREC syntax.
694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  CA_Syntax* syntax;
714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Recognizer associated with SR_Grammar.
734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  // SR_AcousticModels* models;
754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  SR_Recognizer* recognizer;
764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Vocabulary.
794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  SR_Vocabulary* vocabulary;
814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Semantic Graph
844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  SR_SemanticGraph* semgraph;
864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Semantic Processor
894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  SR_SemanticProcessor* semproc;
914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Grammar-specific parameters.
944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ESR_SessionType* parameters;
964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Event Log reference set internally by regognizer during its association with this grammar
994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
1004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  SR_EventLog* eventLog;
1014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
1034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Event log, logging level.
1044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
1054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  size_t logLevel;
1064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1074a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  /**
1084a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   * Indicates if the grammar has been activated.
1094a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project   */
1104a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project  ESR_BOOL isActivated;
1114a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project}
1124a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSR_GrammarImpl;
1134a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1144a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
1154a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1164a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1174a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1184a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_CompileRule(SR_Grammar* self, const LCHAR* name);
1194a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1204a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1214a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1224a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_AddRuleFromList(SR_Grammar* self, SR_Vocabulary* vocabulary, const LCHAR* name);
1234a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1244a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1254a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1264a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_Compile(SR_Grammar* self);
1274a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1284a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1294a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1304a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_AddRule(SR_Grammar* self, const LCHAR* name, const LCHAR* value);
1314a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1324a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1334a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1344a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_DeleteRule(SR_Grammar* self, const LCHAR* name);
1354a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1364a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1374a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1384a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_ContainsRule(SR_Grammar* self, const LCHAR* name, ESR_BOOL* result);
1394a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1404a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1414a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1424a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_AddWordToSlot(SR_Grammar* self, const LCHAR* slot,
1434a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project																												 const LCHAR* word, const LCHAR* pronunciation,
1444a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project																												 int weight, const LCHAR* tag);
1454a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1464a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1474a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1484a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_ResetAllSlots(SR_Grammar* self);
1494a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1504a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1514a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1524a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_AddNametagToSlot(SR_Grammar* self, const LCHAR* slot,
1534a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project																														const SR_Nametag* nametag, int weight,
1544a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project																														const LCHAR* tag);
1554a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1564a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1574a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1584a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_Create(SR_Grammar** self);
1594a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1604a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1614a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1624a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_Destroy(SR_Grammar* self);
1634a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1644a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1654a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1664a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_Save(SR_Grammar* self, const LCHAR* filename);
1674a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1684a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1694a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1704a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_CheckParse(SR_Grammar* self, const LCHAR* transcription, SR_SemanticResult** result, size_t* resultCount);
1714a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1724a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1734a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1744a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_SetDispatchFunction(SR_Grammar* self, const LCHAR* name, void* userData, SR_GrammarDispatchFunction function);
1754a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1764a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1774a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1784a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_SetParameter(SR_Grammar* self, const LCHAR* key, void* value);
1794a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1804a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1814a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1824a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_SetSize_tParameter(SR_Grammar* self, const LCHAR* key, size_t value);
1834a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1844a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1854a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1864a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_GetParameter(SR_Grammar* self, const LCHAR* key, void** value);
1874a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1884a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1894a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1904a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_GetSize_tParameter(SR_Grammar* self, const LCHAR* key, size_t* value);
1914a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1924a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1934a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1944a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project// SREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_SetupModels(SR_Grammar* self, SR_AcousticModels* models);
1954a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_SetupRecognizer(SR_Grammar* self, SR_Recognizer* recognizer);
1964a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
1974a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
1984a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
1994a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_UnsetupRecognizer(SR_Grammar* self);
2004a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project/**
2014a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project * Default implementation.
2024a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project */
2034a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source ProjectSREC_GRAMMAR_API ESR_ReturnCode SR_Grammar_SetupVocabulary(SR_Grammar *self, SR_Vocabulary *vocabulary);
2044a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2054a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project
2064a68b3365c8c50aa93505e99ead2565ab73dcdb0The Android Open Source Project#endif /* __SR_GRAMMARIMPL_H */
207