/*[11]^^CompositeValue { int len; PegBegEnd begEnd; bool save_() {len= length;return true;} bool at_end_(){return len<=0;} bool decr_() {len-= begEnd.posEnd_-begEnd.posBeg_;return len>=0;} } : save_ (!at_end_ TLV:begEnd (decr_/FATAL<"illegal length">))*;*/ public bool CompositeValue() { var _sem= new _CompositeValue(this); return TreeNT((int)EBER.CompositeValue,()=> And(()=> _sem.save_() && OptRepeat(()=> And(()=> Not(()=> _sem.at_end_() ) && Into(()=> TLV(),out _sem.begEnd) && ( _sem.decr_() || Fatal("illegal length")) ) ) ) ); }
public bool CompositeValue() /*[11]^^CompositeValue * { * int len; * PegBegEnd begEnd; * bool save_() {len= length;return true;} * bool at_end_(){return len<=0;} * bool decr_() {len-= begEnd.posEnd_-begEnd.posBeg_;return len>=0;} * } : save_ (!at_end_ TLV:begEnd * (decr_/FATAL<"illegal length">))*;*/ { var _sem = new _CompositeValue(this); return(TreeNT((int)EBER.CompositeValue, () => And(() => _sem.save_() && OptRepeat(() => And(() => Not(() => _sem.at_end_()) && Into(() => TLV(), out _sem.begEnd) && (_sem.decr_() || Fatal("illegal length"))))))); }
public bool CompositeValue() /*[11]^^CompositeValue { int len; PegBegEnd begEnd; bool save_() {len= length;return true;} bool at_end_(){return len<=0;} bool decr_() {len-= begEnd.posEnd_-begEnd.posBeg_;return len>=0;} } : save_ (!at_end_ TLV:begEnd (decr_/FATAL<"illegal length">))*;*/ { var _sem= new _CompositeValue(this); return TreeNT((int)EBER.CompositeValue,()=> And(()=> _sem.save_() && OptRepeat(()=> And(()=> Not(()=> _sem.at_end_() ) && Into(()=> TLV(),out _sem.begEnd) && ( _sem.decr_() || Fatal("illegal length")) ) ) ) ); }