6 #include "utf8_string.h"
20 単純な字句解析器として働く。ストリームから文字列を読みだし、
21 BNF構文に基づいたそれぞれのオブジェクトに変換される。
22 Schemeの構文解析処理は、どちらかというとこの字句解析が大半を占める。
23 それぞれの字句解析は、該当するオブジェクトに変換される。
24 処理としてはそれほど難しくはない、と思いたい。
26 基本方針としては、シンプル->リファクタリングを繰り返すことを基本とする。
27 なので、最初はlex関数一つしか無いが、状況に応じて随時メンバ関数を増やしたりfunctor
29 でも基本的にこれひとつで済むようにした方が楽かもしんない。
36 渡されたUTF8を解釈するstreamから、データを解釈して、結果を返す。
37 結果は、smart_ptr<CLexeme>で返される。
39 smart_ptr<utakata::lexeme::ILexeme> lex(smart_ptr<utakata::utf8::UTF8InputStream>& stream);
48 #endif /* _LEXER_H_ */