@@ -129,7 +129,12 @@ QString CCFGRule::ToString() const
129129 foreach (const CSymbol& symbol, m_rightString){
130130 switch (symbol.GetType ()) {
131131 case CSymbol::TType::terminal:
132- ruleString += QString (" \" %1\" " ).arg (symbol.GetString ());
132+ if (symbol.GetString () == EPSILON) {
133+ ruleString += QString (" %1 " ).arg (symbol.GetString ());
134+ }
135+ else {
136+ ruleString += QString (" \" %1\" " ).arg (symbol.GetString ());
137+ }
133138 break ;
134139 case CSymbol::TType::nonTerminal:
135140 ruleString += QString (" <%1> " ).arg (symbol.GetString ());
@@ -205,26 +210,6 @@ QString CContextFreeGrammar::NonTerminalAlphabetToString() const
205210 return result.left (result.length () - 2 );
206211}
207212
208- // QSet<CTerminal> CContextFreeGrammar::GetTerminalAlphabet()
209- // {
210- // QSet<QString> outSet;
211- // foreach(CTerminal terminal, m_terminalsAlphabet)
212- // {
213- // outSet.insert(terminal.GetString());
214- // }
215- // return outSet;
216- // }
217-
218- // QSet<CNonTerminal> CContextFreeGrammar::GetNoonTerminalAlphabet()
219- // {
220- // QSet<QString> outSet;
221- // foreach(CNonTerminal nonTerminal, m_nonterminalsAlphabet)
222- // {
223- // outSet.insert(nonTerminal.GetString());
224- // }
225- // return outSet;
226- // }
227-
228213QSet<QString> CContextFreeGrammar::GetBothTerminalAndNonterminalAlphabet ()
229214{
230215 QSet<QString> terninals = CTerminal::CTerminalQSetToQStringQSet (GetTerminalAlphabet ());
@@ -385,7 +370,7 @@ QDataStream& CSymbol::WriteToQDataStream(QDataStream & out) const
385370QDataStream& CSymbol::ReadFromQDataStream (QDataStream & in)
386371{
387372 quint32 tmpType;
388- in >> m_symbol >> tmpType ;
373+ in >> tmpType >> m_symbol ;
389374 m_type = (TType)tmpType;
390375 return in;
391376}
@@ -400,7 +385,7 @@ QDataStream & operator<<(QDataStream & out, const CTerminal & s)
400385 return s.WriteToQDataStream (out);
401386}
402387
403- QDataStream & operator >> (QDataStream & in, CNonTerminal & s)
388+ QDataStream & operator >> (QDataStream & in, CNonTerminal & s)
404389{
405390 return s.ReadFromQDataStream (in);
406391}
0 commit comments