parser/keywords.c
ScanKeywords
キーワードの配列。
selectなどのキーワードが列記してある。バイナリサーチで検索するためアルファベット順に記述されている。
ScanKeywordLookup()
文字列がキーワードに一致するか調べる。parserから実行される。
一致するキーワードが見つかった場合は,キーワードのポインタを返す。見つからない場合はNULLを返す。
文字列を小文字に変換後,ScanKeywords配列をバイナリサーチしている。
小文字への変換ではtolowerを使わずに、A-Zをa-zに変換している。tolowerを使うとlocaleの設定によっては,違う変換結果になってしまうことがあるらしい(Turkishなど)。