public override Result VisitDisp_define([NotNull] STGrammerParser.Disp_defineContext context) { string strNum = context.GetText(); int pos = strNum.IndexOf("#"); string strValue = strNum.Substring(pos + 1, strNum.Length - pos - 1); switch (context.Start.Type) { case STGrammerParser.DISP_BIN: return(new Result(true, "$" + Convert.ToString(Convert.ToInt32(strValue.Replace("_", ""), 2), 16))); case STGrammerParser.DISP_OCT: return(new Result(true, "#" + Convert.ToString(Convert.ToInt32(strValue.Replace("_", ""), 8), 10))); case STGrammerParser.DISP_HEX: return(new Result(true, "$" + strValue)); default: return(DefaultResult); } }
/// <summary> /// Visit a parse tree produced by <see cref="STGrammerParser.disp_define"/>. /// <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 VisitDisp_define([NotNull] STGrammerParser.Disp_defineContext context) { return(VisitChildren(context)); }