/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { DeclaredElements = new Dictionary <string, List <INamable> >(); ISubDeclaratorUtils.AppendNamable(this, True); ISubDeclaratorUtils.AppendNamable(this, False); }
/// <summary> /// Constructor /// </summary> /// <param name="log"></param> /// <param name="listExpression"></param> /// <param name="condition"></param> /// <param name="expression"></param> /// <param name="root">the root element for which this expression should be parsed</param> /// <param name="iteratorVariableName"></param> /// <param name="parsingData">Additional information about the parsing process</param> public SumExpression(ModelElement root, ModelElement log, Expression listExpression, string iteratorVariableName, Expression condition, Expression expression, ParsingData parsingData) : base(root, log, listExpression, iteratorVariableName, condition, expression, parsingData) { AccumulatorVariable = CreateBoundVariable("RESULT", null); ISubDeclaratorUtils.AppendNamable(this, AccumulatorVariable); if (expression != null) { DefinedAccumulator = SetEnclosed(expression); Accumulator = SetEnclosed(new BinaryExpression( Root, RootLog, DefinedAccumulator, BinaryExpression.Operator.Add, new UnaryExpression( Root, RootLog, new Term( Root, RootLog, new Designator(Root, RootLog, "RESULT", ParsingData.SyntheticElement), ParsingData.SyntheticElement), ParsingData.SyntheticElement), ParsingData.SyntheticElement)); } }
/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { DeclaredElements = new Dictionary <string, List <INamable> >(); ISubDeclaratorUtils.AppendNamable(this, IteratorVariable); ISubDeclaratorUtils.AppendNamable(this, PreviousIteratorVariable); }
/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { DeclaredElements = new Dictionary <string, List <INamable> >(); foreach (NameSpace nameSpace in NameSpaces) { ISubDeclaratorUtils.AppendNamable(this, nameSpace); } foreach (Type type in Types) { ISubDeclaratorUtils.AppendNamable(this, type); } foreach (IVariable variable in AllVariables) { ISubDeclaratorUtils.AppendNamable(this, variable); } foreach (Procedure proc in Procedures) { ISubDeclaratorUtils.AppendNamable(this, proc); } foreach (Function function in Functions) { ISubDeclaratorUtils.AppendNamable(this, function); } }
/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { DeclaredElements = new Dictionary <string, List <INamable> >(); ISubDeclaratorUtils.AppendNamable(this, LastIteration); ISubDeclaratorUtils.AppendNamable(this, CurrentIteration); }
/// <summary> /// Gets a value based on its image /// </summary> /// <param name="image"></param> /// <returns></returns> public override IValue getValue(string image) { IValue retVal = null; if (Char.IsLetter(image[0]) || image[0] == '_') { int lastDotPosition = image.LastIndexOf('.'); if (lastDotPosition > 0) { string prefix = image.Substring(0, lastDotPosition); Expression typeExpression = new Parser().Expression(this, prefix, IsType.INSTANCE, true, null, true); if (typeExpression != null && typeExpression.Ref == this) { image = image.Substring(lastDotPosition + 1); } } List <INamable> tmp = new List <INamable>(); ISubDeclaratorUtils.Find(this, image, tmp); if (tmp.Count == 1) { retVal = tmp[0] as IValue; } if (retVal == null) { throw new Exception("Cannot find boolean from " + image); } } return(retVal); }
/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { DeclaredElements = new Dictionary <string, List <INamable> >(); foreach (State state in States) { ISubDeclaratorUtils.AppendNamable(this, state); } }
/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { DeclaredElements = new Dictionary <string, List <INamable> >(); foreach (Parameter parameter in FormalParameters) { ISubDeclaratorUtils.AppendNamable(this, parameter); } }
/// <summary> /// Constructor /// </summary> /// <param name="root">the root element for which this expression should be parsed</param> /// <param name="log"></param> /// <param name="listExpression"></param> /// <param name="iteratorVariableName"></param> /// <param name="condition"></param> /// <param name="function"></param> /// <param name="initialValue"></param> /// <param name="parsingData">Additional information about the parsing process</param> public ReduceExpression(ModelElement root, ModelElement log, Expression listExpression, string iteratorVariableName, Expression condition, Expression function, Expression initialValue, ParsingData parsingData) : base(root, log, listExpression, iteratorVariableName, condition, function, parsingData) { InitialValue = SetEnclosed(initialValue); AccumulatorVariable = CreateBoundVariable("RESULT", null); ISubDeclaratorUtils.AppendNamable(this, AccumulatorVariable); }
/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { DeclaredElements = new Dictionary <string, List <INamable> >(); foreach (EnumValue value in SpecialValues) { ISubDeclaratorUtils.AppendNamable(this, value); } }
/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { ISubDeclaratorUtils.CriticalSection.WaitOne(); try { DeclaredElements = new Dictionary <string, List <INamable> >(); foreach (Types.NameSpace nameSpace in NameSpaces) { ISubDeclaratorUtils.AppendNamable(this, nameSpace); } } finally { ISubDeclaratorUtils.CriticalSection.ReleaseMutex(); } }
/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { DeclaredElements = new Dictionary <string, List <INamable> >(); foreach (StructureElement element in Elements) { ISubDeclaratorUtils.AppendNamable(this, element); } foreach (Procedure procedure in Procedures) { ISubDeclaratorUtils.AppendNamable(this, procedure); } foreach (StateMachine stateMachine in StateMachines) { ISubDeclaratorUtils.AppendNamable(this, stateMachine); } }
/// <summary> /// Appends the INamable which match the name provided in retVal /// </summary> /// <param name="name"></param> /// <param name="retVal"></param> public void Find(string name, List <Utils.INamable> retVal) { ISubDeclaratorUtils.Find(this, name, retVal); }
/// <summary> /// Initialises the declared elements /// </summary> public void InitDeclaredElements() { ISubDeclaratorUtils.AppendNamable(this, IteratorVariable); }
/// <summary> /// Appends the INamable which match the name provided in retVal /// </summary> /// <param name="name"></param> /// <param name="retVal"></param> public void Find(string name, List <INamable> retVal) { ISubDeclaratorUtils.Find(UnifiedStateMachine, name, retVal); }