code: function option() {
      var ret = this.seq(
          this.stringf('['),
          this.manyf(c_wsp),
          alternation,
          this.manyf(c_wsp),
          this.stringf(']'));
      return new ast.Repetition(new ast.Repeat(0,1), ret[3]);
  }
docs: option         =  "[" *c-wsp alternation *c-wsp "]"