/// <summary> /// Execute la propagation d'une cellule sur une plage de cellules /// </summary> /// <param name="context">la partie droite de la regle de la grammaire</param> /// <returns>Un message de confirmation</returns> public override Term VisitPropage([NotNull] TableurParser.PropageContext context) { ITerminalNode[] adr = context.ADR(); String adr1 = adr[0].GetText(); String adr2 = adr[1].GetText(); String[] targetSplit = adr2.Split('@'); String[] srcSplit = adr1.Split('@'); CellCoord target = new CellCoord(ulong.Parse(targetSplit[0]), ulong.Parse(targetSplit[1])); CellCoord src = new CellCoord(ulong.Parse(srcSplit[0]), ulong.Parse(srcSplit[1])); this.kern.Propage(target, src); return(new Texte("Propage Success")); }
/// <summary> /// Visit a parse tree produced by the <c>Propage</c> /// labeled alternative in <see cref="TableurParser.instr"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitPropage([NotNull] TableurParser.PropageContext context) { return(VisitChildren(context)); }
/// <summary> /// Exit a parse tree produced by the <c>Propage</c> /// labeled alternative in <see cref="TableurParser.instr"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitPropage([NotNull] TableurParser.PropageContext context) { }