public override void Render(AddOperator node, RenderContext context) { context.RenderString("("); if (node.LeftOperand == null) { context.RenderItem(Value.Empty); } else { context.RenderItem(node.LeftOperand); } context.RenderString(" + "); if (node.RightOperand == null) { context.RenderItem(Value.Empty); } else { context.RenderItem(node.RightOperand); } context.RenderString(")"); }
public override void Render(Expression expression, RenderContext context) { foreach (AstNode item in expression.Operands) { context.RenderItem(item); } }
public void Render(Graphics g) { var context = new RenderContext { Graphics = g }; context.RenderItem(Root); }
public override void Render(Body body, RenderContext context) { foreach (Statement statement in body.Statements) { context.RenderItem(statement); context.NewLine(); } context.RenderEmpty("<statement>", Color.Gray); context.NewLine(); }
public override void Render(If node, RenderContext context) { context.RenderString("if", Color.Blue); context.RenderString("("); if (node.Condition == null) { context.RenderItem(Value.Empty); } else { context.RenderItem(node.Condition); } context.RenderString(")"); context.NewLine(); context.RenderString("{"); context.NewLine(); context.Indent(20); context.RenderItem(node.Body); context.Dedent(); context.NewLine(); context.RenderString("}"); }
public override void Render(VariableDeclaration node, RenderContext context) { context.RenderString("var ", Color.Blue); if (string.IsNullOrEmpty(node.Name)) { context.RenderEmpty("<identifier>", Color.Red); } else { context.RenderString(node.Name); } context.RenderString(" = "); if (node.InitialValue == null) { context.RenderItem(Value.Empty); } else { context.RenderItem(node.InitialValue); } }
public override void Render(Print node, RenderContext context) { context.RenderString("print", Color.Blue); if (node.Value != null) { context.RenderEmpty(">", Color.Gray); context.RenderItem(node.Value); } else { context.RenderEmpty("<Expression>", Color.Red);; } }
public override void Render(Root node, RenderContext context) { context.RenderItem(node.Body); }