Exemplo n.º 1
0
 private void VisitUnaryOperator(AmlParserNode operand,
                                 AmlParser.Target target, StackIRNode stackNode)
 {
     if (IsNullTarget(target))
     {
         operand.Accept(this);
         result.Add(stackNode);
     }
     else
     {
         target.Accept(this);
         operand.Accept(this);
         result.Add(stackNode);
         result.Add(new Store());
     }
 }
Exemplo n.º 2
0
 private void VisitBinaryOperator(AmlParserNode left, AmlParserNode right,
                                  AmlParser.Target target, StackIRNode stackNode)
 {
     if (IsNullTarget(target))
     {
         right.Accept(this);
         left.Accept(this);
         result.Add(stackNode);
     }
     else
     {
         target.Accept(this);
         right.Accept(this);
         left.Accept(this);
         result.Add(stackNode);
         result.Add(new Store());
     }
 }
Exemplo n.º 3
0
 public void Add(StackIRNode node)
 {
     list.Add(node);
 }