protected override object ReallyDoEvaluate(ScriptThread thread) { var tw = thread.tc().Writer; tw.WriteLine("\tcomp1 = {0};", AstNode2.ToString(thread)); tw.WriteLine("\tcomp2 = {0};", AstNode4.ToString(thread)); tw.WriteLine("\ttruth_flag = {0};", AstNode3.ToString(thread)); return(base.ReallyDoEvaluate(thread)); }
protected override object ReallyDoEvaluate(ScriptThread thread) { if (AstNode1 is SecondPersonNode) { var tw = thread.tc().Writer; if (AstNode2 is BeNode) { if (AstNode3 is ConstantNode) { tw.WriteLine("\tassign({0}, second_person, {1});", Location.Line, AstNode3.ToString(thread)); } else // SECOND_PERSON BE Equality Value StatementSymbol { tw.WriteLine("\tassign({0}, second_person, {1});", Location.Line, AstNode4.ToString(thread)); } } else if (AstNode2 is UnarticulatedConstantNode) { tw.WriteLine("\tassign({0}, second_person, {1});", Location.Line, AstNode2.ToString(thread)); } } return(base.ReallyDoEvaluate(thread)); }