opltran.h

来自「在手机操作系统symbina上使用的一个脚本扩展语言的代码实现,可以参考用于自己」· C头文件 代码 · 共 91 行

H
91
字号
// OPLTRAN.H
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

// The public interface classes to the OPL translator objects.

#ifndef __OPLTRAN_H__
#define __OPLTRAN_H__

#include <e32base.h>
#include <texttran.h>
#include <opltdef.h>
#include <opltbas.h>
#include <s32mem.h>

class COplModuleParser;
class COplModuleLexer;
class COplModuleBackEnd;


////////////////////////////////////////////////////////////
//
// COplModuleTranslator
//
////////////////////////////////////////////////////////////
class COplModuleTranslator : public COplTranslatorBase
//
// Translator object
//
   {
public:	
	// Construction & tear down
	IMPORT_C ~COplModuleTranslator();
	IMPORT_C static COplModuleTranslator *NewL();
	IMPORT_C static COplModuleTranslator *NewLC();

	// Translator interface - from CTextTranslator
	IMPORT_C void StartTranslateL(MTextSourceSystem& aTextSystem,const TFileName& aSourceName, const TFileName& aTargetName,CTextTranslator::TDebugFlag aDebugFlag,TSourceTranslateError& anError);
	IMPORT_C void StartTranslateL(MTextSourceSystem& aTextSystem,const TFileName& aSourceName,COplModuleBackEnd& aBackEnd,CTextTranslator::TDebugFlag aDebugFlag,TSourceTranslateError& anError);
	IMPORT_C void LocateErrorL(MTextSourceSystem& aTextSystem,const TFileName& aSourceName,const TFileName& aTargetName,CTextTranslator::TDebugFlag aDebugFlag,TSourceTranslateError& anError,TInt aLineNumber);
	IMPORT_C TInt TranslateChunk();
	IMPORT_C void Cancel();  // Abandon the currently active translation

	// Stuff specific to the OPL translator
	IMPORT_C void SetAppCB(MTranAppCB *anAppCB);
	IMPORT_C void SetTarget(TOplTranTarget aTarget);
private:
	COplModuleTranslator() {;}
	void ConstructL();
	void CommonStartL(MTextSourceSystem& aTextSystem, const TFileName& aSourceName,CTextTranslator::TDebugFlag,TSourceTranslateError& anError);
private:
	MTranAppCB *iAppCB;
	COplModuleLexer *iLexer;
	COplModuleParser *iParser;
	TBool iOwnBackEnd;
	COplModuleBackEnd *iBackEnd;
	TTranslateError* iError;   
    };

////////////////////////////////////////////////////////
//
// COplEvalTranslator
//
/////////////////////////////////////////////////////////
class COplEvalParser;
class COplLineLexer;
class COpl16EvalBackEnd;

class COplEvalTranslator : public CBase
//
// Line translator object for EVAL
//
	{
public:
	IMPORT_C ~COplEvalTranslator();
	IMPORT_C static COplEvalTranslator *NewL();
	IMPORT_C static COplEvalTranslator *NewLC();
	IMPORT_C TInt Translate(const TDesC& anExpression,TTranslateError& anError,CBufBase& aQcode,TInt& aMaxStackDepth);
	IMPORT_C TInt LocateError(const TDesC& anExpression,TTranslateError& anError);
private:
	COplEvalTranslator() {;}
	void ConstructL();
private:
	COplLineLexer *iLexer;
	COplEvalParser *iParser;
	COpl16EvalBackEnd *iBackEnd;
	};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?