73 Bool_t success =
true;
77 for (UInt_t i=1; i<
fLines.size(); i++) {
81 Ssiz_t pos = line.First(
'#');
84 for (Int_t i=pos; i<line.Length(); i++) {
91 line.Remove(TString::kTrailing,
' ');
96 musrfit::ast::assignment assignment;
97 std::string str(line.Data());
98 auto iter = str.begin();
105 bool parseSuccess = x3::phrase_parse(iter, end, grammar, x3::space, assignment);
107 if (parseSuccess && iter == end) {
111 std::cerr << std::endl <<
"**ERROR**: FUNCTIONS parse failed in line " <<
fLines[i].fLineNo << std::endl;
113 std::cerr <<
"**ERROR**: Stopped at: " << std::string(iter, end) << std::endl;
118 }
catch (x3::expectation_failure<std::string::iterator>
const& e) {
119 std::cerr << std::endl <<
"**ERROR**: FUNCTIONS parse failed in line " <<
fLines[i].fLineNo << std::endl;
120 std::cerr <<
"**ERROR**: Expected: " << e.which() << std::endl;
128 for (UInt_t i=0; i<
fFuncs.size(); i++) {
129 for (UInt_t j=i+1; j<
fFuncs.size(); j++) {
131 std::cerr << std::endl <<
"**ERROR**: function number " <<
fFuncs[i].GetFuncNo();
132 std::cerr <<
" is at least twice present! Fix this first.";
133 std::cerr << std::endl;