public bool Compile( string source ) { bool passed = false; this.source = source; // start compiling if there is a rule base to work with if ( rootRulePath != null ) { passed = DoPass1(); if ( passed ) { passed = DoPass2(); } } return passed; }