public override Statement Interprete(string src, int line) { var returns = new ObjCallStmt(); returns.Line = line; string tmp1 = ""; for (int index = 0; index < src.Split('(').Length; index++) { string i = src.Split('(')[index]; if (index == 0) { } else { tmp1 += i + "("; } } string value = tmp1.Remove(tmp1.Length - 2, 2); string tmp = ""; for (int index = 0; index < src.Split('(')[0].Split('.').Length; index++) { string i = src.Split('(')[0].Split('.')[index]; int l = src.Split('(')[0].Split('.').Length; if (index == l - 1) { returns.Name = i; } else { tmp += i + "."; } } tmp = tmp.TrimEnd('.'); returns.Target = tmp; if (value.Contains(',')) { foreach (string i in value.Split(',')) { returns.Paramaters.Add(StatmentVarHandler.HandleVar(i)); } } else { if (value != "") { returns.Paramaters.Add(StatmentVarHandler.HandleVar(value)); } } return(returns); }
public override Statement Interprete(string src, int line) { var returns = new DecSetStmt(); returns.Line = line; var reg = new Regex(Parser.Grammar.GetPattern("varset").ToString()); Match match = reg.Match(src); if (match.Success) { returns.Name = match.Groups["Name"].Value; returns.Operator = match.Groups["op"].Value; returns.Value = StatmentVarHandler.HandleVar(match.Groups["Value"].Value); } return(returns); }
public override Statement Interprete(string src, int line) { var returns = new CallStmt(); returns.Line = line; var reg = new Regex(Parser.Grammar.GetPattern("call").ToString()); Match match = reg.Match(src); if (match.Success) { returns.Paramaters = new List <Primitive>(); returns.Name = match.Groups[1].Value; if (match.Groups["params"].Value.Contains(',')) { foreach (string i in match.Groups["params"].Value.TrimEnd(')').Split(',')) { returns.Paramaters.Add(StatmentVarHandler.HandleVar(i)); } } } return(returns); }