Example #1
0
        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));
 }