Added first example.

This commit is contained in:
2019-09-19 14:11:48 +01:00
commit 8a292241e3
13 changed files with 451 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
#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