
|
|
|
もくじ ・ 前のページ ・ 次のページ
1.パーサークラスの定義
「パーサークラス」とは、パーサーのクラスです。
「パーサー」とは、パースするオブジェクトです。
「パース」とは、文字列を意味のある語句に切り分けることです。
「文字列」とは、Char(0)..Char(255)(Char($00)..Char($FF) とも書けます)からなる文字の集合体です。Delphi ではこれらの文字を #116 又は16進表記で #$74 などと記述することが出来ます。
//////////////////////////////////////////////////////////////////////// ・ShowMessage('Hellow!'); と ShowMessage(#$48#$65#$6C#$6C#$6F#$77#$21); は同じ結果を得ます。 ・文字列中の1文字を判別する場合、 var S: String; P: PChar; I: Integer; begin S := 'Hellow!'; for I := 1 to Length(S) do if S[I] = #$77 then hoge; といったことや S := 'Hellow!'; P := PChar(S); while P^ <> #0 do begin if P^ = #119 then hoge; Inc(P); end; といったことが出来ます。 ////////////////////////////////////////////////////////////////////////
「意味のある語句」とは、ある環境において意味を持つひとつの単語です。 ここでは、この語句をトークンと呼びます。
「切り分ける」とは、文字列からトークンを取り出すことです。
「オブジェクト」とは、クラスの実体です。
「クラス」とは、実体を生成する工場です。(批判は覚悟の上で)
「実体」とは、メモリ上に確保されるクラスの機能を実現するために必要な領域、あるいは、そこへのポインタです。インスタンスとも言います。
「生成する」とは、上記領域をメモリ上に確保すること、あるいは、そこへのポインタを返す作業です。
つまり「パーサークラス」とは、パーサーの実体を生成する工場です。利用する工場を選択することによって、生成されるパーサーオブジェクトの性質が変わり、トークンの切り出され方が変わります。
もくじ ・ 前のページ ・ 次のページ
|
|