private void ProcessReturnStatement(NodeBase statement) { Queue <NodeBase> children = GetChildren(statement); Expect(children.Dequeue(), NodeType.Keyword, "return"); if (PeekType(children) == NodeType.Expression) { ProcessExpression(children.Dequeue()); vmWriter.Return(); } else { vmWriter.ReturnNothing(); } Expect(children.Dequeue(), NodeType.Symbol, ";"); }