+ case '<': {
+ std::istream::char_type c2;
+ in.get(c2);
+ if (c2 == '<') {
+ return Token(Token::SCRIPT_BEGIN);
+ } else {
+ in.putback(c2);
+ return Token(Token::CHEVRON_OPEN);
+ }
+ }
+ case '>': {
+ std::istream::char_type c2;
+ in.get(c2);
+ if (c2 == '>') {
+ return Token(Token::SCRIPT_END);
+ } else {
+ in.putback(c2);
+ return Token(Token::CHEVRON_CLOSE);
+ }
+ }