Go to the documentation of this file.
43Tokenizer :: Tokenizer() :
49Tokenizer :: readStringToken(std :: size_t &pos,
const std :: string &line)
52 std :: string x = this->
readToken(pos, line,
'"');
53 if ( line [ pos ] ==
'"' ) {
56 OOFEM_WARNING(
"Missing closing separator (\") inserted at end of line");
63Tokenizer :: readStructToken(std :: size_t &pos,
const std :: string &line)
65 std :: string x = this->
readToken(pos, line,
'}');
66 if ( line [ pos ] ==
'}' ) {
69 OOFEM_WARNING(
"Missing closing separator (}) inserted at end of line");
75Tokenizer :: readSimpleExpressionToken(std :: size_t &pos,
const std :: string &line)
78 std :: string x = this->
readToken(pos, line,
'$');
79 if ( line [ pos ] ==
'$' ) {
82 OOFEM_WARNING(
"Missing closing separator (\"$\") inserted at end of line");
89Tokenizer :: readSimpleToken(std :: size_t &pos,
const std :: string &line)
91 std :: size_t startpos = pos;
92 while ( pos < line.size() && !isspace(line [ pos ]) ) {
95 return line.substr(startpos, pos - startpos);
100Tokenizer :: readToken(std :: size_t &pos,
const std :: string &line,
char sep)
102 std :: size_t startpos = pos;
103 while ( pos < line.size() && line [ pos ] != sep ) {
106 return line.substr(startpos, pos - startpos);
110void Tokenizer :: tokenizeLine(
const std :: string ¤tLine)
112 std :: list< std :: string >sList;
113 std :: size_t bpos = 0;
117 while ( bpos < currentLine.size() ) {
118 c = currentLine [ bpos ];
123 }
else if ( c ==
'"' ) {
125 }
else if ( c ==
'{' ) {
127 }
else if ( c ==
'$' ) {
136 this->
tokens.reserve(nTokens);
137 std :: copy( sList.begin(), sList.end(), std :: back_inserter(
tokens) );
140int Tokenizer :: giveNumberOfTokens()
143 return (
int )
tokens.size();
146const char *Tokenizer :: giveToken(
int i)
150 if ( i <= (
int )
tokens.size() ) {
151 return tokens [ i - 1 ].c_str();
std::string readSimpleToken(std ::size_t &pos, const std ::string &line)
std::string readStringToken(std ::size_t &pos, const std ::string &line)
std::string readStructToken(std ::size_t &pos, const std ::string &line)
std::string readSimpleExpressionToken(std ::size_t &pos, const std ::string &line)
std ::vector< std ::string > tokens
Array of tokens.
std::string readToken(std ::size_t &pos, const std ::string &line, char sep)
#define OOFEM_WARNING(...)
This page is part of the
OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at for OOFEM by
doxygen
1.15.0 written by Dimitri van Heesch,
© 1997-2011