Exemplo n.º 1
0
        public static object VisitLiteral(NyaParser.IntegerLiteralContext context)
        {
            string text   = context.GetText();
            var    regex  = Regex.Match(text, @"(\d+)(\w+)?");
            string value  = regex.Groups[1].Value;
            string suffix = regex.Groups[2].Value.ToLower();

            switch (suffix)
            {
            case "b":
                return(byte.Parse(value));

            case "s":
                return(short.Parse(value));

            case "l":
                return(long.Parse(value));

            case "u":
                return(uint.Parse(value));

            case "lu":
            case "ul":
                return(ulong.Parse(value));

            case "su":
            case "us":
                return(ushort.Parse(value));

            case "sb":
            case "bs":
                return(sbyte.Parse(value));

            default:
                return(int.Parse(value));
            }
        }
Exemplo n.º 2
0
 public override object VisitIntegerLiteral([NotNull] NyaParser.IntegerLiteralContext context)
 {
     return(LiteralHelper.VisitLiteral(context));
 }