Input 입력 읽기는 종종 프로그램에서 가장 곤란한 부분이다. 사람과 의사소통하기 위해 프로그램은 그 사람의 변덕, 관습 및 겉으로 보기에 무작위적인 오류에 대처해야 한다. 사람이 기계에 더 적합한 방식으로 강요하는 것은 공격적으로 간주되기도 한다. 저수준 입력 루틴의 작업은 문자를 읽고 문자에서 더 높은 수준의 토큰을 구성하는 것이다. 이런 토큰은 상위 수준 루틴에 대한 입력 단위다. 여기서 저수준 입력은 ts.get()에 의해 수행된다. 저수준 입력 루틴을 작성하는 것이 일상적인 작업일 필요는 없다. 많은 시스템은 이를 위한 표준 기능을 제공한다. 먼저 Token_stream의 전체 정의를 확인해 보자. class Token_stream { public: Token_stream(istream& s)..