130QString Recognizer::expand (
const QString &text)
const
134 if (_M_grammar
->start != _M_grammar->names.end ())
136 code = code.replace (
"$start_id"_L1, QString::number (std::distance (_M_grammar->names.begin (), _M_grammar->start)));
137 code = code.replace (
"$start"_L1, *_M_grammar->start);
140 code = code.replace (
"$header"_L1, _M_grammar->table_name.toLower () +
"_p.h"_L1);
142 code = code.replace (
"$table"_L1, _M_grammar->table_name);
143 code = code.replace (
"$parser"_L1, _M_grammar->table_name);
145 if (_M_current_rule != _M_grammar
->rules.end ())
147 code = code.replace (
"$rule_number"_L1, QString::number (std::distance (_M_grammar->rules.begin (), _M_current_rule)));
148 code = code.replace (
"$rule"_L1, *_M_current_rule->lhs);