Abraham.DLXChecker.get_number_word C# (CSharp) Méthode

get_number_word() private méthode

获取数字格式的字符串, 字符串格式为#或x或b开头,分别代表十进制,十六进制和二进制 也可以直接数字,代表十进制
private get_number_word ( ) : string
Résultat string
        private string get_number_word()
        {
            string rtn = "";
            if (cur_token == 'x' || cur_token == 'X')
            {
                rtn += cur_token;
                get_src_token();
                if (!char.IsDigit(cur_token) &&
                    !(cur_token <= 'f' && cur_token >= 'a') &&
                    !(cur_token <= 'F' && cur_token >= 'A'))
                {
                    back_src_token();
                    error("错误的数字格式");
                }

                while (true)
                {
                    rtn += cur_token;
                    get_src_token();
                    if (!char.IsDigit(cur_token) &&
                    !(cur_token <= 'f' && cur_token >= 'a') &&
                    !(cur_token <= 'F' && cur_token >= 'A'))
                        break;
                }
                return rtn;
            }
            else if (cur_token == 'b' || cur_token == 'B')
            {

                rtn += cur_token;
                get_src_token();
                if (cur_token != '1' && cur_token != '0')
                {
                    back_src_token();
                    error("错误的数字格式");
                }

                while (true)
                {

                    rtn += cur_token;
                    get_src_token();
                    if (cur_token != '1' && cur_token != '0')
                        break;

                }
                return rtn;
            }
            else if (cur_token == '#')
            {
                rtn += cur_token;
                get_src_token();
            }
            if (!char.IsDigit(cur_token) && cur_token != '-')
                if (cur_token == '\r' || cur_token == '\n')
                    error("指令不完整,需要数字");
                else
                    error("错误的数字格式");
            while (true)
            {
                rtn += cur_token;
                get_src_token();
                if (!char.IsDigit(cur_token))
                    break;
            }
            return rtn;
        }