
    <i	                     `    S SK Jr  S SKJr  S SKJr  S SKJr   " S S\5      r	 " S S\	5      r
g	)
    )StringIO)DFA)str_list)DFAStatec                   T    \ rS rSrSrSS\S\S\4S jjrS rS	\	4S
 jr
S\4S jrSrg)DFASerializer   dfaliteralNamessymbolicNamesNr   r   r   c                 (    Xl         X l        X0l        g Nr
   )selfr   r   r   s       R/home/james-whalen/.local/lib/python3.13/site-packages/antlr4/dfa/DFASerializer.py__init__DFASerializer.__init__   s    (*    c                    U R                   R                  c  g [        5        nU R                   R                  5        H  nSnUR                  b  [        UR                  5      n[        SU5       H  nUR                  U   nUc  M  UR                  S:w  d  M)  UR                  U R                  U5      5        U R                  U5      nUR                  S5        UR                  U5        UR                  S5        UR                  U R                  U5      5        UR                  S5        M     M     UR                  5       n[        U5      S:X  a
   S S S 5        g UsS S S 5        $ ! , (       d  f       g = f)Nr   i-z->
)r   s0r   sortedStatesedgeslenrangestateNumberwritegetStateStringgetEdgeLabelgetvalue)r   bufsnitlabeloutputs           r   __str__DFASerializer.__str__   s   88;;Z3XX**,77&AGGAq!A
A}*)D		$"5"5a"89 $ 1 1! 4		#		%(		$		$"5"5a"89		$ %	 - \\^F6{A~# Z& ' ZZs   A!E+E+B=E+ E++
E9r%   c                    US:X  a  gU R                   b+  U[        U R                   5      ::  a  U R                   US-
     $ U R                  b+  U[        U R                  5      ::  a  U R                  US-
     $ [        US-
  5      $ )Nr   EOF   )r   r   r   strr   r%   s     r   r    DFASerializer.getEdgeLabel.   s    a4(QD4E4E0F-F$$QqS))+3t7I7I3J0J%%ac**qs8Or   r#   c                 :   UR                   nUR                  (       a  SOSS-   [        U5      -   UR                  (       a  SOS-   nUR                  (       aC  UR                  b  US-   [        UR                  5      -   $ US-   [        UR                  5      -   $ U$ )N: r#   ^z=>)r   isAcceptStater.   requiresFullContext
predicatesr   
prediction)r   r#   r$   baseStateStrs       r   r   DFASerializer.getStateString8   s    MM !R3>QGSTShShCnpq??||'#d*Xall-CCC#d*S->>>r   )NN)__name__
__module____qualname____firstlineno__	__slots__r   listr   r)   intr    r   r   __static_attributes__ r   r   r   r      s>    8I+3 +T +d +
0S 	 x 	 r   r   c                   >   ^  \ rS rSrS\4U 4S jjrS\4S jrSrU =r	$ )LexerDFASerializerC   r   c                 &   > [         TU ]  US 5        g r   )superr   )r   r   	__class__s     r   r   LexerDFASerializer.__init__E   s    d#r   r%   c                 $    S[        U5      -   S-   $ )N')chrr/   s     r   r    LexerDFASerializer.getEdgeLabelH   s    SV|c!!r   rC   )
r;   r<   r=   r>   r   r   rA   r    rB   __classcell__)rI   s   @r   rE   rE   C   s     $3 $"S " "r   rE   N)ior   antlr4r   antlr4.Utilsr   antlr4.dfa.DFAStater   objectr   rE   rC   r   r   <module>rU      s,      ! (3 F 3 j" "r   