public override string ToString() { string predicateStr = _name; // For testing purposes, this can be fixed by implementing WriteTerm if (_name == "=") { predicateStr = ((PrologCodeTerm)_arguments[0]).ToString() + " = " + ((PrologCodeTerm)_arguments[1]).ToString(); } else { if (_arguments.Count != 0) { predicateStr += "("; for (int i = 0; i < _arguments.Count; i++) { PrologCodeTerm term = (PrologCodeTerm)_arguments[i]; predicateStr += term.ToString(); if (i != _arguments.Count - 1) { predicateStr += ","; } } predicateStr += ")"; } } return(predicateStr); }
public override string ToString() { string clauseStr = _head.ToString() + " :- "; for (int i = 0; i < _goals.Count; i++) { PrologCodeTerm term = (PrologCodeTerm)_goals[i]; clauseStr += term.ToString(); if (i == _goals.Count - 1) { clauseStr += " ."; } else { clauseStr += ", "; } } return(clauseStr); }
public override string ToString() { string listStr = "["; listStr += _head.ToString(); if (_tail is PrologCodeNonEmptyList) { listStr += GetListTailStr((PrologCodeNonEmptyList)_tail) + "]"; } else if (_tail is PrologCodeEmptyList) { listStr += "]"; } else { listStr += "|" + _tail.ToString() + "]"; } return(listStr); }