Context.ms
- 依存
eof
FailureStruct
filePos
parserCombinatorDefinitionPool
readChars
seek
std
struct ContextStruct
解析対象の文字列を操作する。
- 補足
改行コードは全て
LF
に変換される。
public _CP1_
- プロパティ
<String>
作成パラメータ1。解析対象の文字列。
private cache
- プロパティ
<Struct:CacheStruct>
private lastError
- プロパティ
<Struct:ErrorStruct>
private lineRanges
- プロパティ
<Array[<DataPair Start:<Integer> End:<Integer>>]>
行頭と行末の位置の配列。
private ss
- プロパティ
<StringStream>
public fn EOS
現在の位置がストリームの終端にあるかどうか。
- 戻り値
<BooleanClass>
public fn GetLastError
最後に記録されたエラーを取得する。
- 戻り値
<Struct:ErrorStruct>
public fn GetLineNumber
任意の位置の行数を取得する。
- パラメータ
offset
<Integer>
- 戻り値
<Integer>
位置が範囲外の場合は
0
を返す。
public fn GetOffset
現在の位置を取得する。
- 戻り値
<Integer>
public fn LogError
エラーを記録する。
- パラメータ
errorOffset
<Integer>
エラーが発生した位置。
- パラメータ
expected
<String>
期待する文字列。
- 戻り値
<OkClass>
public fn PrintDebugInfo
デバッグ情報をリスナーに出力する。
- パラメータ
parserName
<String>
- 戻り値
<OkClass>
public fn PrintError
エラー情報をリスナーに出力する。
- パラメータ
result
<Any>
- 戻り値
<OkClass>
- 補足
結果が失敗以外の場合は警告として出力する。
public fn Read
現在の位置から指定の数の文字を文字列として取得する。
- 戻り値
<String>
- 補足
ストリームの終端を超えてしまう場合は現在の位置から終端までの文字列を返す。
現在の位置がストリームの終端に達している場合は空文字列を返す。
public fn ReadCache
パース結果をキャッシュから読み取る。
- パラメータ
parser
<Struct>
メモ化対象のパーサのインスタンス。
- 戻り値
<DataPair Hit:<BooleanClass> Cache:<DataPair End:<Integer> Value:<Any>|UndefinedClass>>
キャッシュが存在した場合は
Hit
がtrue
になる。
public fn Seek
位置を設定する。
- 戻り値
<Integer>
設定後の位置。
- 補足
ストリームの終端を超えてしまう場合は終端に設定される。
public fn SetStream
解析対象の文字列を設定する。
- パラメータ
input
<String>
- 戻り値
<OkClass>
- 補足
内部状態が初期化される。
public fn SOS
現在の位置がストリームの先端にあるかどうか。
- 戻り値
<BooleanClass>
public fn WriteCache
パース結果をキャッシュに書き込む。
- パラメータ
parser
<Struct>
メモ化対象のパーサのインスタンス。
- パラメータ
start
<Integer>
開始位置。
- パラメータ
end
<Integer>
終了位置。
- パラメータ
result
<Any>
メモ化対象のパーサのパース結果。
- 戻り値
<OkClass>
private fn getLineText
指定した行の文字列を取得する。
- パラメータ
lineNumber
<Integer>
- 戻り値
<String>
行が範囲外の場合は空文字列を返す。
- 補足
エスケープシーケンスのエスケープ処理は行わない。
private fn initialize
内部状態を初期化する。
- 戻り値
<OkClass>
private fn setLineRanges
行の範囲を設定する。
- 戻り値
<OkClass>
public fn StructName
- 戻り値
<Name>
public fn Dump
- パラメータ
indent:
<String>
- パラメータ
out:
<FileStream|StringStream|WindowStream>
出力先。既定値は
listener
。
- 戻り値
<OkClass>
public fn Equals
- パラメータ
obj
<Any>
- 戻り値
<BooleanClass>
- 補足
大文字と小文字を区別する。