メソッド |
void |
resetSyntax()
|
- すべての文字を通常文字として扱います。
- 通常文字とは1文字で1トークンとなる文字を言います。
- これにより[10]みたいに数字が検出されてもttypeにはTT_WORDが入るようになります。
|
|
void |
commentChar(int ch)
|
- 引数で指定した文字から行の最後までをコメントとして無視するようになります。
|
|
void |
slashSlashComments(boolean flag)
|
- JavaやCのコメント文字である[//]の処理を決定する。
- flagがtrueの場合コメント部分は無視され(破棄され)る。
- flagがfalseの場合[//]以降も通常通り認識される。
|
|
void |
slashStarComments(boolean flag)
|
- JavaやCのコメント文字である[/* */]の処理を決定する。
- flagがtrueの場合コメント部分は無視され(破棄され)る。
- flagがfalseの場合[/*]と[/*]の間も通常通り認識される。
|
|
void |
ordinaryChar(int ch)
|
- chを通常文字として扱うようになります。
- 通常文字とは1文字で1トークンとなる文字を言います。
|
|
void |
ordinaryChars(int l, int h)
|
- lからhまでの文字を通常文字として扱うようになります。
- 通常文字とは1文字で1トークンとなる文字を言います。
|
|
void |
wordChars(int l, int h)
|
- lからhまでの文字を単語文字として認識するようになります。
|
|
void |
whitespaceChars(int l, int h)
|
- lからhまでの文字を空白文字として認識するようになります。
|
|
void |
quoteChar(int ch)
|
- chを囲い文字として、その中身を1つのトークンとして処理するようにする。
- chで囲まれた文字列を検出すると、nextTokenの呼び出し後、ttypeにはchが入り、svalに囲まれた文字列が入る。
- 例えば[quoteChar('\"')]を実行し、["This is a pen."]が検出されると、ttype=(int)'\"'となり、sval=This is a pen.となる。
|
|
void |
parseNumbers()
|
- [0,1,2,3,4,5,6,7,8,9,-,.]の12文字を数値と認識し、これらを見つけるとttypeにTT_NUMBERを入れ、nvalにその値を入れるようになる。
- デフォルトで有効になっているため、resetSyntaxや上記12種の文字をordinaryCharなどで通常文字と設定したのを戻す時に使われる。
|
|
void |
lowerCaseMode(boolean flag)
|
- 引数にtrueを指定するとトークンは自動的に小文字に変換されます。
|
|
void |
eolIsSignificant(boolean flag)
|
- 行の終端文字('\r'、'\n')をトークンとするかを指定します。
- 引数にtrueを指定するとトークンと処理し、ttypeにTT_EOLが入るようになります。
|
|
int |
lineno()
|
int |
nextToken()
|
- 次のトークンを読み出します。
- 読み出したトークンの型がttypeに入れられます。
- 型によりsval、nvalにトークンが入ります。
|
|
int |
pushBack()
|
- nextTokenで読み取ったトークンをストリームに返す。
- ただし、ttype, nval, svalは変更されない。
|
|