TNB Library
公開メンバ関数 | 全メンバ一覧
CGrammarAnalyzerT< TYP, ITE >::IFormat 構造体

文法解析用フォーマットインターフェース [詳解]

#include <TnbGrammarAnalyzer.h>

公開メンバ関数

virtual TYP CheckBlockStartChar (TYP c) const
 [確認] 始端文字チェック. [詳解]
 
virtual int CheckComment (CStrT< TYP > &_str, ITE ite) const
 [取得] コメントチェック. [詳解]
 
virtual int CheckStringSpecialWord (CStrT< TYP > &_str, ITE ite) const
 [取得] 文字列内特殊文字チェック. [詳解]
 
virtual bool IsBlankChar (TYP c) const
 [確認] ブランク文字判定. [詳解]
 
virtual bool IsBlockCloseChar (TYP c) const
 [確認] 終端文字チェック. [詳解]
 
virtual bool IsEndChar (TYP c) const
 [確認] 終端文字チェック 終端文字を定義するメソッドです。 [詳解]
 
virtual bool IsStringMarkChar (TYP c) const
 [確認] 文字列始終端文字チェック. [詳解]
 
virtual bool IsTokenPeriodChar (TYP c) const
 [確認] トークン区切り文字判定. [詳解]
 
virtual ~IFormat (void)
 デストラクタ [詳解]
 

詳解

template<typename TYP = TCHAR, typename ITE = const TYP*>
struct TNB::CGrammarAnalyzerT< TYP, ITE >::IFormat

文法解析用フォーマットインターフェース

このインターフェースを実装したクラスを、 CGrammarAnalyzerT に渡すことで、
ある程度自由なフォーマットに対応可能です。
必要ファイル
TnbGrammarAnalyzer.h
日付
07/07/07 新規作成

TnbGrammarAnalyzer.h59 行目に定義があります。

構築子と解体子

◆ ~IFormat()

virtual ~IFormat ( void  )
virtual

デストラクタ

TnbGrammarAnalyzer.h62 行目に定義があります。

関数詳解

◆ CheckBlockStartChar()

virtual TYP CheckBlockStartChar ( TYP  c) const
virtual

[確認] 始端文字チェック.

ブロックの始端文字を定義するメソッドです。始端文字だったら、終端文字を返します。

覚え書き
デフォルトでは、 '(' 〜 ')' , '[' 〜 ']' , '{' 〜 '}' を定義しています。
引数
cチェック対象文字
戻り値
0対象外
0以外終端文字

TnbGrammarAnalyzer.h122 行目に定義があります。

◆ CheckComment()

virtual int CheckComment ( CStrT< TYP > &  _str,
ITE  ite 
) const
virtual

[取得] コメントチェック.

コメントとして無視する開始文字列、および、終端を定義します。

覚え書き
デフォルトでは、'/*' 〜 '*/' 間、'//' 〜 改行間は、コメントと判断します。
引数
[out]_str終端文字列
[in]iteチェック対象データ
戻り値
0コメントなし
1以上_str の文字までスキップ
-1改行までスキップ

TnbGrammarAnalyzer.h216 行目に定義があります。

◆ CheckStringSpecialWord()

virtual int CheckStringSpecialWord ( CStrT< TYP > &  _str,
ITE  ite 
) const
virtual

[取得] 文字列内特殊文字チェック.

文字列に含まれる、特殊記法を定義するメソッドです。エスケープシーケンスなどを定義できます。

覚え書き
デフォルトでは、'¥n','¥r','¥¥','¥"'に対応しています。
引数
[out]_str変換した文字列。
[in]iteチェック対象データ
戻り値
0未満エラー。
0特殊文字なし。
1以上文字列として扱う文字数

TnbGrammarAnalyzer.h179 行目に定義があります。

◆ IsBlankChar()

virtual bool IsBlankChar ( TYP  c) const
virtual

[確認] ブランク文字判定.

ブランク文字を定義するメソッドです。

覚え書き
デフォルトでは、 スペースとタブをブランクとしています。
引数
cチェック対象文字
戻り値
trueブランク文字だ
false違う

TnbGrammarAnalyzer.h72 行目に定義があります。

◆ IsBlockCloseChar()

virtual bool IsBlockCloseChar ( TYP  c) const
virtual

[確認] 終端文字チェック.

ブロックの終端文字を定義するメソッドです。始端文字チェックメソッドと同じ文字を定義してください。

覚え書き
デフォルトでは、 '(' 〜 ')' , '[' 〜 ']' , '{' 〜 '}' を定義しています。
引数
cチェック対象文字
戻り値
0対象外
0以外終端文字

TnbGrammarAnalyzer.h142 行目に定義があります。

◆ IsEndChar()

virtual bool IsEndChar ( TYP  c) const
virtual

[確認] 終端文字チェック 終端文字を定義するメソッドです。

覚え書き
デフォルトでは、¥0 を終端文字としています。
引数
cチェック対象文字
戻り値
trueテキスト終端文字だ
false違う

TnbGrammarAnalyzer.h109 行目に定義があります。

◆ IsStringMarkChar()

virtual bool IsStringMarkChar ( TYP  c) const
virtual

[確認] 文字列始終端文字チェック.

文字列の始終端文字を定義するメソッドです。始端を見つけると、途中、別の始終端文字として 定義している文字があっても、始端と同じ文字が見つかるまで、文字列とします。

覚え書き
デフォルトでは、 シングルコーテーション、ダブルコーテーションを定義しています。
引数
cチェック対象文字
戻り値
true文字列始終端文字だ
false違う

TnbGrammarAnalyzer.h164 行目に定義があります。

◆ IsTokenPeriodChar()

virtual bool IsTokenPeriodChar ( TYP  c) const
virtual

[確認] トークン区切り文字判定.

トークン区切り文字を定義するメソッドです。

覚え書き
デフォルトでは、¥0 = , . [] <> {} () + - * / ; ! スペース、タブ、改行を区切り文字としています。
引数
cチェック対象文字
戻り値
trueトークン区切り文字だ
false違う

TnbGrammarAnalyzer.h85 行目に定義があります。