674{
675 int cs = 0;
676
677 const char *eof = pe;
678
679 bool result = false;
680
681 {
683 }
684 {
685 int _klen;
686 unsigned int _trans = 0;
687 const signed char *_keys;
688 const signed char *_acts;
689 unsigned int _nacts;
690 _resume : {
691 }
692 if (p == pe && p != eof)
693 goto _out;
694 if (p == eof) {
697 }
698 } else {
701
703 if (_klen > 0) {
704 const signed char *_lower = _keys;
705 const signed char *_upper = _keys + _klen - 1;
706 const signed char *_mid;
707 while (1) {
708 if (_upper < _lower) {
709 _keys += _klen;
710 _trans += (unsigned int) _klen;
711 break;
712 }
713
714 _mid = _lower + ((_upper - _lower) >> 1);
715 if (((*(p))) < (*(_mid)))
716 _upper = _mid - 1;
717 else if (((*(p))) > (*(_mid)))
718 _lower = _mid + 1;
719 else {
720 _trans += (unsigned int) (_mid - _keys);
721 goto _match;
722 }
723 }
724 }
725
727 if (_klen > 0) {
728 const signed char *_lower = _keys;
729 const signed char *_upper = _keys + (_klen << 1) - 2;
730 const signed char *_mid;
731 while (1) {
732 if (_upper < _lower) {
733 _trans += (unsigned int) _klen;
734 break;
735 }
736
737 _mid = _lower + (((_upper - _lower) >> 1) & ~1);
738 if (((*(p))) < (*(_mid)))
739 _upper = _mid - 2;
740 else if (((*(p))) > (*(_mid + 1)))
741 _lower = _mid + 2;
742 else {
743 _trans += (unsigned int) ((_mid - _keys) >> 1);
744 break;
745 }
746 }
747 }
748
749 _match : {
750 }
751 }
753
755
757 _nacts = (unsigned int) (*(_acts));
758 _acts += 1;
759 while (_nacts > 0) {
760 switch ((*(_acts))) {
761 case 0: {
762 {
763 result = true;
764 }
765 break;
766 }
767 case 1: {
768 {
769 result = false;
770 }
771 break;
772 }
773 }
774 _nacts -= 1;
775 _acts += 1;
776 }
777 }
778
779 if (p == eof) {
780 if (cs >= 196)
781 goto _out;
782 } else {
783 if (cs != 0) {
784 p += 1;
785 goto _resume;
786 }
787 }
788 _out : {
789 }
790 }
791 return result;
792}
static const short _address_index_offsets[]
static const short _address_eof_trans[]
static const signed char _address_range_lengths[]
static const short _address_cond_targs[]
static const short _address_key_offsets[]
static const int address_start
static const signed char _address_single_lengths[]
static const signed char _address_trans_keys[]
static const signed char _address_cond_actions[]
static const signed char _address_actions[]