private void addPostFixOperator(ASTNode node) { if (node.Operator > ASTOperator.Single && node.Operator < ASTOperator.End) { if (postFixStack.Count < 1) { throw new Exception(); } ASTNode oprd1 = postFixStack.Pop(); node.Right = oprd1; node.ComputeSingle(); } else if (node.Operator > ASTOperator.Binary && node.Operator < ASTOperator.Single) { if (postFixStack.Count < 2) { throw new Exception(); } ASTNode oprd2 = postFixStack.Pop(); ASTNode oprd1 = postFixStack.Pop(); // Assign have Associativity R to L node.Left = oprd1; node.Right = oprd2; node.ComputeDouble(); } else { throw new Exception(); } postFixStack.Push(node); // Write SSA }