#include "model/terminal_rules/[[[$terminal]]].h" #include #include #include using namespace std; // --------------------------------------------------------------------------- const bool [[[$terminal]]]::Check_For_String() { if (!Is_Valid()) return false; static map counts; if (counts.find(m_string_count) != counts.end()) { if (counts[m_string_count] == 1) counts.erase(m_string_count); else counts[m_string_count]--; } m_string_count++; if (m_string_count > counts.size() + 1) return false; counts[m_string_count]++; [[[ my ($prefix,$suffix) = $strings[0] =~ /^['"](.*(?& [[[$terminal]]]::Get_String() const { return strings; } // --------------------------------------------------------------------------- [[[ if (defined $nonpointer_return_type) { $OUT .= <