template <typename R> bool extract_word(R& result,tokenizer& tokenizer) { result.clear(); //buffer array<ascii> buffer; //word if(!tokenizer.word(buffer)) return false; //delimited if(!tokenizer.is_delimited()) return false; //commit result=buffer; update(symbols()._word,buffer); return true; }
template <typename R> bool extract_identifier(R& result,tokenizer& tokenizer) { result.clear(); //buffer array<ascii> buffer; array<ascii> current; //identifier if(!tokenizer.identifier(current)) return false; buffer.append(current); //word if(tokenizer.word(current)) buffer.append(current); //delimited if(!tokenizer.is_delimited()) return false; //commit result=buffer; update(symbols()._identifier,buffer); return true; }