public mte(KScriptContainer container, string first_variable_id, string second_variable_id) : base(container, first_variable_id, second_variable_id) { }
public HtmlObjectParser(KScriptContainer container) : base(container) { }
/// <summary> /// Constructor with KScriptContainer object initialised. /// </summary> /// <param name="container">The KScriptContainer to initialise with.</param> public KScriptIO(KScriptContainer container) => SetContainer(container);
/// <summary> /// Method used to set the ParentContainer property. /// </summary> /// <param name="container">The KScriptContainer object to use.</param> internal void SetContainer(KScriptContainer container) => ParentContainer = container;
// <watcher handle_method="once"> // <watchers> // <watch for="name"/> // <watch for="age" /> // </watchers> // <rules> // <rule condtion="@empty($name)"> // <echo>You must enter a name</echo> // </rule> // <rule condition="@more_less($name,gt,10)"> // <echo>Name can't be more than 10</echo> // </rule> // </rules> // </watcher> public WatcherHandler(KScriptContainer container) : base(container) { }
public MenuHandler(KScriptContainer container) : base(container) { }
public not_zero(KScriptContainer container, string value) : base(container, value) { }
public KScriptValidator(KScriptContainer container) { validationObjects = new List <KScriptValidationObject>(); Container = container; }
public static List <ICommand> GetCommands(string str, KScriptContainer container, KScriptBaseObject baseObj) { //Count all open brackets, when finding close bracket, length of string to array Stack <ICommand> commands = new Stack <ICommand>(); List <ICommand> All_Commands = new List <ICommand>(); char[] str_cmds = str.ToCharArray(); ICommandObject bracket = new ICommandObject(str, container, baseObj); ParamTracker paramTracker = new ParamTracker(); HashSet <char> allowedChars = new HashSet <char>(new[] { '(', ')', char.Parse("'") }); List <char> stack = new List <char>(str.Where(allowedChars.Contains)); int index = -1; bool ignore = false, encountered_cmd = false; for (int i = 0; i < str_cmds.Length; i++) { if (str_cmds[i].Equals('@') && !ignore) { encountered_cmd = true; } if (encountered_cmd) { paramTracker.Track(str_cmds[i], i); } if (str_cmds[i].Equals(char.Parse("'")) && encountered_cmd) { ignore = !ignore; } if (str_cmds[i].Equals('@') && !ignore && encountered_cmd) { bracket = new ICommandObject(str, container, baseObj); bracket.IndexProperties.Start = i; bracket.Index = ++index; commands.Push(bracket); continue; } else if (str_cmds[i].Equals('$') && !ignore && encountered_cmd) { //ignore = !ignore; } else if (str_cmds[i].Equals('(') && !ignore && encountered_cmd) { if (commands.Peek().IsCommandObject) { commands.Peek().GetCommandObject().EndNameIndex = i; } continue; } else if (str_cmds[i].Equals(',') && !ignore && encountered_cmd && commands.Count > 0) { if (commands.Any()) { ICommand cmd = commands.Peek(); if (cmd.IsCommandObject) { if (paramTracker.HasParams) { IValue variable = new IValue(paramTracker.GetIndexPair(), container); cmd.GetCommandObject().Children.Enqueue(variable); } } } } else if (str_cmds[i].Equals(')') && !ignore && encountered_cmd && commands.Count > 0) { if (!commands.Any()) { All_Commands.Add(bracket); continue; } ICommand cmd = commands.Pop(); cmd.IndexProperties.End = i; if (paramTracker.HasParams) { if (cmd.IsCommandObject) { if (cmd.GetCommandObject().InnerCommand.Length > 0) { IValue variable = new IValue(paramTracker.GetIndexPair(), container); cmd.GetCommandObject().Children.Enqueue(variable); } } else { IValue variable = new IValue(paramTracker.GetIndexPair(), container); cmd.GetCommandObject().Children.Enqueue(variable); } } if (commands.Count == 0) { All_Commands.Add(cmd); } if (commands.Count > 0 && commands.Peek().IsCommandObject&& !commands.Peek().GetCommandObject().IsClosed) { commands.Peek().GetCommandObject().Children.Enqueue(cmd); continue; } All_Commands.Add(cmd); continue; } } if (!(stack.Count % 2 == 0) && encountered_cmd) { throw new KScriptExceptions.KScriptException("KScript Command is incorrectly formatted - check brackets match and that all (') symbols are surrounding strings." + "\nError occurs when parsing string: \n" + "----------------------------------------------------\n" + str); } return(All_Commands); }
public is_number(KScriptContainer container, string value) : base(container, value) { }
public upper(KScriptContainer container, string variable_id) : base(container, variable_id) { }
public MArrayParser(KScriptContainer container) : base(container) { }
internal void Init(KScriptContainer container) => SetContainer(container);
public ITiedVariableFunction(KScriptContainer container, string first_variable_id, string second_variable_id) : base(container) { First_VariableID = first_variable_id; Second_VariableID = second_variable_id; }
public rule(KScriptContainer container) => SetContainer(container);