tree grammar Simplify;

options {
    tokenVocab=VecMath;    
    ASTLabelType=CommonTree;
    output=AST;
    language=CSharp3;
    filter=true;
    //rewrite=true;
}

@members 
{ 
   public override IAstRuleReturnScope Topdown() { return topdown(); }
   public override IAstRuleReturnScope Bottomup() { return bottomup(); } 
} 


topdown
    :   ^( MULT INT ^(VEC (e+=.)+) ) -> ^(VEC ^(MULT INT $e)+)
    ;

bottomup
    :  ^(MULT a=. b=INT {$b.int==0}?) -> $b // x*0 -> 0
    ;
