public override void VisitLabelstatementNode(LabelStatementNode l) { PreVisit(l); l.Label.Visit(this); l.Stat.Visit(this); PostVisit(l); }
public override void VisitLabelstatementNode(LabelStatementNode l) { Text += IndentStr(); l.Label.Visit(this); Text += ": "; l.Stat.Visit(this); }
public override void VisitLabelstatementNode(LabelStatementNode l) { var instructionIndex = Instructions.Count; l.Stat.Visit(this); Instructions[instructionIndex].Label = l.Label.Num.ToString(); }
public override void VisitLabelstatementNode(LabelStatementNode l) { var instructionIndex = Instructions.Count; // Чтобы не затиралась временная метка у while if (l.Stat is WhileNode) { GenCommand("", "noop", "", "", ""); } l.Stat.Visit(this); Instructions[instructionIndex].Label = l.Label.Num.ToString(); }
private Statement BindLabelStatement(LabelStatementNode node) { var name = node.Label.Identifier.Text; if (Function == null) { diagnostics.ReportInvalidLabelDeclaration(node.MainToken, name); return(new InvalidStatement()); } var label = new LabelSymbol(name); if (!Scope.TryDeclareLabel(label)) { diagnostics.ReportSymbolAlreadyDeclared(node.MainToken, name, "Label"); } return(new LabelStatement(Scope, label)); }
public virtual void VisitLabelstatementNode(LabelStatementNode l) { }