private void StartFragment(Token keyword, OperatorType operatorType) { var fragment = new CombinedFragment(CurrentOperand(), operatorType, keyword); CurrentOperand().Add(fragment); m_Fragments.Push(fragment); }
private void CreateOperand(Token token, string guardExpression) { CombinedFragment parent = CurrentFragment(); var operand = new Operand(parent, guardExpression, token); parent.Add(operand); }
private void DetectUnclosedCombinedFragments() { while (IsEndExpected()) { CombinedFragment fragment = m_Fragments.Pop(); AddError(fragment.Token, "Unclosed combined fragment. Corresponding end statement is missing."); } }
public Operand(CombinedFragment parent, string guardExpression, Token token) { m_Parent = parent; m_Token = token; m_GuardExpression = guardExpression; m_Activities = new Stack <IActivity>(); m_Signals = new Stack <ISignal>(); m_Children = new Stack <ICombinedFragment>(); }