public static void ParseLine(string line) { if (line.StartsWith("print")) { EggCodeCommands.Print(line); } else if (line.EndsWith(".start")) { EggCodeCommands.StartFunc(line); } else if (line.Contains(".start") && line.EndsWith(")")) { EggCodeCommands.StartFuncWithPrams(line); } else if (line.StartsWith("skip")) { EggCodeCommands.Skip(line); } else if (line.StartsWith("input")) { EggCodeCommands.Input(line); } else if (line == "clearScreen") { Console.Clear(); } else if (line.StartsWith("if")) { bool flag = Eval(line.StringSplit(" else ")[0].AdvancedBetween('(', ')')); string elseCommand = line.StringSplit(" else ")[1].AdvancedBetween('(', ')'); if (!flag) { ParseLine(elseCommand); } } //expression to find a varible being declared else if (line.Contains(" = ") && !line.Split(new[] { " = " }, StringSplitOptions.None)[0].Contains(" ") && !line.StartsWith("(private)")) { EggCodeCommands.DeclareVarible(line); } else if (line.Contains(" = ") && !line.Split(new[] { " = " }, StringSplitOptions.None)[0].Contains(" ") && line.StartsWith("(private)")) { EggCodeCommands.DeclarePrivateVarible(line); } }
public static object ParseInput(string input) { if (input.StartsWith("\"")) { return(input.Between("\"", "\"")); } else if (input.StartsWith("input")) { Console.Write(ParseInput(input.AdvancedBetween('(', ')'))); return(Console.ReadLine()); } else if (input.StartsWith("math")) { return(EggCodeCommands.Math(input)); } //if no other input method is found try to return a private varible but if there is no private varible try to return a global one else { try { try { return(CurrentlyRunning.FindVarible(input).value); } catch { return(EggCodeTypeVarible.FindVarible(input).value); } } catch { return(input); } } }