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(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(EmptyValue node, RenderContext context) { context.RenderString("<Expression>", Color.Red); }
public override void Render(DivOperator node, RenderContext context) { context.RenderString(" / "); }
public override void Render(MulOperator node, RenderContext context) { context.RenderString(" * "); }
public override void Render(SubOperator node, RenderContext context) { context.RenderString(" - "); }
public override void Render(StringLiteral node, RenderContext context) { context.RenderString("\"", Color.Black); context.RenderString(node.Value, Color.Purple); context.RenderString("\"", Color.Black); }
public override void Render(IntegerLiteral node, RenderContext context) { context.RenderString(node.Value.ToString()); }