protected override string CalculateValue() { string valueString = ParentExpression.ToString(); if (ParentExpression.IsNumericLiteral()) { return(SmallBasicExtensions.FormatFloat(valueString)); } else { return(valueString.Replace('"', '\'')); } }
protected override EV3Type CalculateType() { string valueString = ParentExpression.ToString(); if (ParentExpression.IsNumericLiteral()) { return(EV3Type.Float); } else { Match match = Regex.Match(valueString, @"^""(?:[\d]+=[^;]*;)*([\d]+)=[^;]*[;]*""$"); if (match.Success) { maxIndex = int.Parse(match.Groups[1].Value); return(EV3Type.StringArray); } else { return(EV3Type.String); } } }