149 : m_eResult(other.m_eResult), m_eScene(other.m_eScene), m_eOperation(other.m_eOperation), m_iFileLine(other.m_iFileLine)
150 , m_strFuncName(other.m_strFuncName), m_strToken(other.m_strToken), m_strFileName(other.m_strFileName)
161 : m_eResult(eResult), m_eScene(
Scene_Non), m_eOperation(eOperation), m_iFileLine(0)
173 : m_eResult(eResult), m_eScene(eScene), m_eOperation(eOperation), m_iFileLine(0)
194 m_eResult = other.m_eResult;
195 m_eScene = other.m_eScene;
196 m_eOperation = other.m_eOperation;
197 m_iFileLine = other.m_iFileLine;
198 m_strFuncName = other.m_strFuncName;
199 m_strToken = other.m_strToken;
200 m_strFileName = other.m_strFileName;
256 return m_eResult < 0;
284 m_eOperation = eOperation;
293 m_strFuncName = lpszFunc;
302 m_strToken = lpszString;
313 m_iFileLine = iFileLine;
314 m_strFileName = lpszFileName;
326 m_strFileName = gram.
GetName();
363 return m_strFuncName;
390 return m_strFileName;
409 if ( ! m_strFileName.
IsEmpty() )
411 strFile.
Format(
"%s(%d):", m_strFileName, m_iFileLine);
417 strFunc = strFunc.
Sandwich(
" FuncName=[",
"]");
423 strScene = strScene.
Sandwich(
" Scene=[",
"]");
427 if ( ! strOperation.
IsEmpty() )
429 strOperation = strOperation.
Sandwich(
" Operation=[",
"]");
435 strResult = strResult.
Sandwich(
" Result=[",
"]");
441 strError = strError.
Sandwich(
" / [",
"]");
444 return strFile + strFunc + strScene + strOperation + strResult + strError;
456 if ( iExpectNum == 0 && iParamNum > 0 )
461 else if ( iParamNum < iExpectNum )
466 else if ( iParamNum > iExpectNum )
UINT_PTR GetLine(void) const
[取得] 行番号取得
CStr GetName(void) const
[取得] 名前取得
static VAL Find(const TYP &key, const TYPS &ts, const VAL &def=VAL())
[検索] 値検索
bool IsEmpty(void) const
[確認] 空チェック
CStrT Sandwich(const TYP *lpszBefore, const TYP *lpszAfter) const
[作成] 前後連結.
void Format(const TYP *lpszFormat,...)
[代入] 書式付き文字列代入.
bool IsNop(void) const
[確認] NOP 確認.
void SetErrorString(LPCSTR lpszString)
[設定] エラー内容設定
LPCSTR GetFuncName(void) const
[取得] エラー発生関数名取得
CTmlResult(const CTmlResult &other)
コピーコンストラクタ
static CTmlResult CheckParamNum(INT_PTR iParamNum, INT_PTR iExpectNum)
[確認] パラメータの数と、期待の数のチェック.
LPCSTR GetErrorString(void) const
[取得] エラー内容取得
static LPCSTR SceneToString(EScene eScene)
[変換] シーンコード→文字列
LPCSTR GetFileName(void) const
[取得] エラーソースファイル名取得
CTmlResult(EResult i)
代入コンストラクタ.
void SetFuncName(LPCSTR lpszFunc)
[設定] エラー発生関数名設定
EResult GetResult(void) const
[取得] リザルトコード取得.
CTmlResult(EScene eScene, EOperation eOperation, EResult eResult)
代入コンストラクタ.
CAscii ToString(void)
[取得] 文字列取得.
CTmlResult & operator=(EResult i)
[代入] int型値代入.
void SetSuccess(void)
[設定] SUCCESS設定.
EScene GetScene(void) const
[取得] シーンコード取得
CTmlResult & operator=(const CTmlResult &other)
コピーオペレータ
CTmlResult(EOperation eOperation, EResult eResult)
代入コンストラクタ.
CTmlResult & SetLine(const CTmlGrammar &gram)
[設定] エラーソースファイル名、行数設定
void SetScene(EScene eScene)
[設定] シーンコード設定
bool IsError(void) const
[確認] ERROR 確認.
static LPCSTR ResultToString(INT_PTR result)
[変換] リザルトコード→文字列
static LPCSTR OperationToString(EOperation eOperation)
[変換] オペレーションコード→文字列
void SetNop(void)
[設定] NOP設定.
bool IsSuccess(void) const
[確認] SUCCESS 確認.
void SetOperation(EOperation eOperation)
[設定] オペレーションコード設定
INT_PTR GetFileLine(void) const
「取得」 エラーソース行番号取得
CTmlResult & SetLine(LPCSTR lpszFileName, INT_PTR iFileLine)
[設定] エラーソースファイル名、行数設定
EOperation GetOperation(void) const
[取得] オペレーションコード取得
@ Operation_FindingFunc
関数検索中
@ Operation_FileAccess
Fileアクセス中
@ Operation_CheckFunc
関数チェック中
@ Operation_CheckStatement
ステートメントチェック中
@ Operation_Text_EscHex
文字列 ¥x 処理中
@ Operation_Text_Esc
文字列 ¥? 処理中
@ Scene_Include
include文処理中
@ Scene_Default
default文処理中
@ Result_InvalidHexNotation
HEX表記が異常
@ Result_ReadFailure
Read失敗
@ Result_UnknownError
その他のエラー
@ Result_InvalidEscSeq
エスケープシーケンスが異常
@ Result_ManyParam
引数が多すぎます
@ Result_InvalidMacroContentsLevel
マクロコンテンツレベルが異常です
@ Result_OpenFailure
Open失敗
@ Result_UnnecessaryParam
引数は不必要です
@ Result_UserInterruption
ユーザによる中断
@ Result_AlreadyExistName
既にある名前です
@ Result_UnfinishedExpression
計算式が途中で終わっている
@ Result_InvalidState
状態エラー(今、実行できません)
@ Result_ZeroDivide
0で割ろうとしてます
@ Result_InvalidWordPosition
単語位置が異常です(そこには存在しないはず)
@ Result_SendFailure
Send失敗
@ Result_InvalidParenthesesPosition
括弧の位置がおかしい
@ Result_NotenoughParam
引数が足りません
@ Result_NotFoundParentheses
括弧が必要なところにない
@ Result_NotFoundFunction
必要な関数がありません
@ Result_ProgramableInterruption
プログラムによる中断
@ Result_NotCloseParentheses
括弧が閉じていない
@ Result_UnknownKeyword
知らないキーワード
CGrammarAnalyzerT< char > CTmlGrammar
TinyMacroLang 文章解析