31 void Foam::symbols::tokeniser::push(
const token& t)
33 label end = (start_+size_)%tokens_.size();
35 if (size_ == tokens_.size())
37 start_ = tokens_.fcIndex(start_);
48 token t = tokens_[start_];
49 start_ = tokens_.fcIndex(start_);
55 void Foam::symbols::tokeniser::unpop(
const token& t)
58 start_ = tokens_.rcIndex(start_);
84 return size_ || is_.good();
126 for (
size_t i=0; i<w.size(); ++i)
132 word subWord = w(start, i-start);
139 push(
token(subWord));
156 if (start < w.size())
158 word subWord = w(start, w.size()-start);
165 push(
token(subWord));
206 else if (t.
pToken() ==
'^')
Input from memory buffer stream.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
static bool valid(char c)
...
tokeniser(Istream &)
Construct for an input stream.
static label priority(const token &t)
...
void splitWord(const word &)
...
Istream & stream()
Access the stream.
void putBack(const token &)
...
A token holds items read from Istream.
bool isPunctuation() const
punctuationToken
Standard punctuation tokens.
punctuationToken pToken() const
const word & wordToken() const
A class for handling words, derived from string.
bool valid(const PtrList< ModelType > &l)
const dimensionedScalar c
Speed of light in a vacuum.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.