
    =wg                     D    d dl Z d dlmZmZmZ dZdZd Z G d de      Z	y)    N)ANYEPSILONNFA)| c                     g }g }y Nr   )patternstackopss      J/var/www/horilla/myenv/lib/python3.12/site-packages/whoosh/automata/reg.pyparser   %   s    E
C    c                   N    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zy)RegexBuilderc                     d| _         y N   statenumselfs    r   __init__zRegexBuilder.__init__-   s	    r   c                 D    | xj                   dz  c_         | j                   S r   r   r   s    r   	new_statezRegexBuilder.new_state0   s    }}r   c                     | j                         }| j                         }t        |      }|j                  |t        |       |j	                  |       |S r	   )r   r   add_transitionr   add_final_stater   senfas       r   epsilonzRegexBuilder.epsilon4   sH    NNNN!f1gq)A
r   c                     | j                         }| j                         }t        |      }|j                  |||       |j                  |       |S r	   r   r   r   r   )r   labelr    r!   r"   s        r   charzRegexBuilder.char<   sH    NNNN!f1eQ'A
r   c                     | j                         }| j                         }t        |      }|D ]  }|j                  |||        |j                  |       |S r	   r%   )r   charsr    r!   r"   r'   s         r   charsetzRegexBuilder.charsetD   sW    NNNN!f 	+Dq$*	+Ar   c                     | j                         }| j                         }t        |      }|j                  |t        |       |j	                  |       |S r	   )r   r   r   r   r   r   s       r   dotzRegexBuilder.dotM   sH    NNNN!f1c1%A
r   c                    | j                         }| j                         }| j                         }| j                         }| j                         }| j                         }t        |      }	|	j                  |t        |       |	j                  |t        |       |	j	                  |||       |	j	                  |||       |	j                  |t        |       |	j                  |t        |       |	j                  |       |	S r	   r   r   r   r   insertr   )
r   n1n2r    s1s2e1e2r!   r"   s
             r   choicezRegexBuilder.choiceU   s    NN^^^^^^^^NN!f1gr*1gr*

2r2

2r22w*2w*A
r   c                     | j                         }| j                         }| j                         }t        |      }|j                  |||       |j                  |||       |j                  |       |S r	   )r   r   r/   r   )r   r0   r1   r    mr!   r"   s          r   concatzRegexBuilder.concatf   sb    NNNNNN!f

1b!

1b!A
r   c                    | j                         }| j                         }| j                         }| j                         }t        |      }|j                  |t        |       |j                  |t        |       |j	                  |||       |j                  |t        |       |j                  |t        |       |j                  |       |S r	   r.   )r   nr    m1m2r!   r"   s          r   starzRegexBuilder.starp   s    NN^^^^NN!f1gr*1gq)

2q"2w+2w*A
r   c                 D    | j                  || j                  |            S r	   )r9   r>   r   r;   s     r   pluszRegexBuilder.plus~   s    {{1diil++r   c                 B    | j                  || j                               S r	   )r6   r#   r@   s     r   questionzRegexBuilder.question   s    {{1dlln--r   N)__name__
__module____qualname__r   r   r#   r'   r*   r,   r6   r9   r>   rA   rC   r   r   r   r   r   ,   s9    ",.r   r   )
rewhoosh.automata.fsar   r   r   CHOICEr   r   objectr   r   r   r   <module>rK      s/   8 
 1 1 
V.6 V.r   