public static Result TryAnalyze(plcsimParser.InstructionContext context) { // 命令語 var inst = context.Start.Text; if (!InstTable.Table.ContainsKey(inst)) { return(new Result(false, ErrString.ErrID.UnSupportInst)); } // サッフィックス string strSuf = ""; if (context.suffix != null) { strSuf = context.suffix.Text; } return(new Result(true, new Instruction { Name = inst, Suffix = strSuf, Attribute = InstTable.Table[inst] })); }
/// <summary> /// Visit a parse tree produced by <see cref="plcsimParser.instruction"/>. /// <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 VisitInstruction([NotNull] plcsimParser.InstructionContext context) { return(VisitChildren(context)); }