Files
Flexible-CAP/examples/true/trueArgGrammarScanner.cpp
2019-09-20 13:12:12 +01:00

31 lines
638 B
C++

#include "trueArgGrammarScanner.hpp"
#include "trueArgGrammarDriver.hpp"
namespace trueArgGrammar {
Scanner::Scanner(int argc, char* argv[], Driver& driver)
: yyFlexLexer{}, argc{ argc }, argv{ argv }, argi{ 1 }, streamInput{}, resetVal{}, driver{
driver
} {
if (argi < argc)
streamInput << argv[argi];
switch_streams(&streamInput);
}
int Scanner::yywrap() {
++argi;
bool more = (argi < argc);
if (more) {
streamInput << argv[argi];
resetOnWrap();
}
return more ? 0 : 1;
}
void Scanner::setResult(Scanner::Result result) {
driver.setResult(result);
}
} // namespace trueArgGrammar