private Constant CreateConstantObject(TypedvCodes ins, string text)
        {
            Constant cns = new Constant
            {
                Value = text,
                VType = Enums.VType.Constant
            };

            if (_regex.StringRegex.IsMatch(text))
            {
                cns.Type = Enums.Type.String;
            }
            else if (_regex.DoubleRgex.IsMatch(text))
            {
                cns.Type = Enums.Type.Double;
            }
            else if (_regex.IntRegex.IsMatch(text))
            {
                cns.Type = Enums.Type.Int;
            }
            else if (_regex.BoolValue.IsMatch(text))
            {
                cns.Type = Enums.Type.Bool;
            }
            else if (_regex.CharRegex.IsMatch(text))
            {
                cns.Type = Enums.Type.Char;
            }

            return(cns);
        }
Пример #2
0
        private void ParseInstruction(TypedvCodes typedvCodes)
        {
            if (typedvCodes == null)
            {
                return;
            }
            if (typedvCodes.VType == Enums.VType.Function)
            {
                DTD.Entity.vCodes.Function function = (DTD.Entity.vCodes.Function)typedvCodes;
                AssignmentString += function.Name + "(";
                foreach (var var in function.Parameters)
                {
                    AssignmentString += var.Type + " " + var.Name + ",";
                }
                if (function.Parameters.Count > 0)
                {
                    AssignmentString = AssignmentString.Remove(AssignmentString.Length - 1);
                }

                AssignmentString += ")";
            }
            else if (typedvCodes.VType == Enums.VType.Variable)
            {
                DTD.Entity.vCodes.Variable variable = (DTD.Entity.vCodes.Variable)typedvCodes;

                AssignmentString += variable.Name;
                if (variable.IsArray)
                {
                    AssignmentString += "[" + variable.Row + "]";
                    if (variable.ArrayType == "2D")
                    {
                        AssignmentString += "[" + variable.Column + "]";
                    }
                }
            }
            else if (typedvCodes.VType == Enums.VType.Constant)
            {
                Constant constant = (Constant)typedvCodes;
                AssignmentString += constant.Value;
            }
        }