2012-02-09 8 views

答えて

3

OperatorPrecedenceParserには、シンボリックでない演算子の大文字と小文字を区別しない一致の組み込みサポートがありません。

しかし、シンボリックでない演算子が不足している場合や、いくつかのスペルチェックバリアントをサポートする必要がある場合(たとえば、すべて小文字、すべて大文字、最初の文字大文字など)、演算子をサポートする必要があります。 (もちろん、手動ではなく小さなヘルパー機能を持つバリアントを追加することもできます)

+0

+1私はヘルパー機能が行く方法だと思います。ありがとう。 – Daniel

+0

これは質問とは関係ありませんが、キラーライブラリのおかげで – Daniel

2

PeekOpは、オペレータが存在するかどうかを判断する方法です。これは、文字の直線的な等価性(およびCharStream.Match)に依存しているため、大文字小文字の区別を処理する方法や方法はありません。

オペレーターのさまざまなバージョンをいつでも手動で追加できます。例えば

Add("or"); 
Add("oR"); 
Add("Or"); 
Add("OR"); 

最後にもう1つのオプションは、これを行うためのヘルパーメソッドを作成することです。

+0

ああ、あなたの削除された(そして削除されなかった)返信を見ることができませんでした。それ以外の場合は、自分の投稿を投稿するのではなく、あなたの返信を待つかコメントしたでしょう。 –

+0

それはワゴンから遠く離れていたので、誰にも読ませたくありませんでした。私は 'Invoke'を読んでいると思っていましたが、私は' Add'を読んでいました。 '予約済み 'は単に演算子を一意に保つために使用されます。 – Guvante

+0

ヘルパー関数はすべきです。 – Daniel

関連する問題