namespace lisp {
Lexer::Lexer(std::istream& newstream) :
- stream(newstream),
- eof(false),
+ stream(newstream),
+ eof(false),
linenumber(0),
bufend(),
bufpos(),
c(),
+ token_string(),
token_length()
{
// trigger a refill of the buffer
void
Lexer::nextChar()
{
- if(bufpos >= bufend) {
+ if(bufpos >= bufend || (bufpos == NULL && bufend == NULL) /* Initial refill trigger */) {
if(eof) {
c = EOF;
return;