public override bool Get(TextBuffer text_buffer) { int start_index = text_buffer.CurrentIndex; int length = 1; while (true) { char ch = text_buffer.NextChar(); char code = Tokenizer.GetCode(ch); if (code == Tokenizer.Letter || code == Tokenizer.Digit) { ++length; } else { break; } } string str = text_buffer.SubString(start_index, length); if (!ms_reserved_words.TryGetValue(str, out m_type)) { m_type = TokenType.IDENTIFIER; m_raw_string = str; } return(true); }
public override bool Get(TextBuffer text_buffer) { int start_index = text_buffer.CurrentIndex + 1; int length = 0; while (true) { char ch = text_buffer.NextChar(); if (text_buffer.Eof()) { break; } if (Tokenizer.GetCode(ch) == Tokenizer.Quote) { break; } ++length; } m_raw_string = text_buffer.SubString(start_index, length); return(true); }
public override bool Get(TextBuffer text_buffer) { int start_index = text_buffer.CurrentIndex; int length = 1; while (true) { char ch = text_buffer.NextChar(); if (ch == '.' || Tokenizer.GetCode(ch) == Tokenizer.Digit) { ++length; } else { break; } } string str = text_buffer.SubString(start_index, length); m_value = FixPoint.Parse(str); return(true); }