本文整理汇总了C++中Lexer::getInt方法的典型用法代码示例。如果您正苦于以下问题:C++ Lexer::getInt方法的具体用法?C++ Lexer::getInt怎么用?C++ Lexer::getInt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Lexer
的用法示例。
在下文中一共展示了Lexer::getInt方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Exception
std::set<int> getValues(Lexer& p, int first, int last, const int altstring)
{
int mod = 1;
set<int> values;
if (p.token == "*")
{
p.nextToken();
if (p.token == "/")
{
p.nextToken();
mod = p.getInt();
if (mod <= 0)
throw Exception("Range", string("Modulo value invalid ") + to_string(mod));
}
for (int i = first; i <= last; i += mod)
values.insert(i);
}
else
{
int s = getNr(p, altstring);
if (s < first || s > last)
throw Exception("Range", "value out of range");
if (p.token != "-")
values.insert(s);
else
{
p.nextToken();
// cout << p.token << endl;
int e = getNr(p, altstring);
if (e < s || e > last)
throw Exception("Range", "end value out of range");
if (p.token == "/")
{
p.nextToken();
mod = p.getInt();
}
for (int i = s; i <= e; i += mod)
values.insert(i);
}
}
return values;
}
示例2: getNr
int getNr(Lexer& p, int altstring)
{
if (p.type == Lexer::integer)
return p.getInt();
else if (altstring != 0 && p.type == Lexer::identifier)
{
string w = p.getWord();
int res = getNr(w, altstring == 1 ? weekDayString : monthString);
return res;
}
else
throw Exception("getNr", "int or identifier expected");
}