fn push(&mut self, p: Production<'a>) {
        self.result.0.push(
            if self.negate {
                self.negate = false;
                Production::Not(Box::new(p))
            }
            else {
                p
            }
        );
    }
/// Push a given token to the buffer, negate if needed.
Push a given token to the buffer, negate if needed.
Push a given token to the buffer negate if needed .
fn push(&mut self, p: Production<'a>) {
        self.result.0.push(
            if self.negate {
                self.negate = false;
                Production::Not(Box::new(p))
            }
            else {
                p
            }
        );
    }
fn push ( & mut self , p : Production < ' a > ) { self . result . 0 . push ( if self . negate { self . negate = false ; Production :: Not ( Box :: new ( p ) ) } else { p } ) ; }
Push a given token to the buffer, negate if needed.
Push a given token to the buffer negate if needed .
&mut self
p
Production<'a>
&mut self
p
Production<'a>