
    NgH                         d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ d dlmZmZmZmZ  G d	 d
e          ZdS )    )IntervalSet)Token)PredictionContextSingletonPredictionContext PredictionContextFromRuleContext)RuleContext)ATN)	ATNConfig)ATNStateRuleStopState)WildcardTransitionNotSetTransitionAbstractPredicateTransitionRuleTransitionc                   v    e Zd ZdZej        ZdefdZde	fdZ
dde	de	defdZde	de	ded	ed
edededefdZdS )LL1Analyzeratnc                     || _         d S )N)r   )selfr   s     N/var/www/html/ai-engine/env/lib/python3.11/site-packages/antlr4/LL1Analyzer.py__init__zLL1Analyzer.__init__   s        sc                    |d S t          |j                  }g |z  }t          d|          D ]}t                      ||<   t                      }d}|                     |                    |          j        d t          j        ||         |t                      |d           t          ||                   dk    s| j	        ||         v rd ||<   |S )Nr   F)
lentransitionsrangeset_LOOK
transitiontargetr   EMPTYHIT_PRED)r   r   countlookaltlookBusyseeThruPredss          r   getDecisionLookaheadz LL1Analyzer.getDecisionLookahead%   s    94AM""EzE?? 		! 		!CDIuuH LJJq||C((/7H7Ns)XsuulEC C C 49~~q  DMT#Y$>$> S	r   N	stopStatectxc           
          t                      }d}|t          |j        |          nd }|                     ||||t	                      t	                      |d           |S )NT)r   r   r   r   r   )r   r   r*   r+   rr(   lookContexts          r   LOOKzLL1Analyzer.LOOKI   sY    MMFIo6qucBBB[_

1ia|TRRRr   r%   r'   calledRuleStackr(   addEOFc	                    t          |d|          }	|	|v rd S |                    |	           ||k    rZ|!|                    t          j                   d S |                                r#|r!|                    t          j                   d S t          |t                    rD|!|                    t          j                   d S |                                r#|r!|                    t          j                   d S |t          j
        k    r|j        |v }
	 |                    |j                   t          dt          |                    D ]V}| j        j        |                    |                   }|                     |||                    |          |||||           W	 |
r|                    |j                   n"# |
r|                    |j                   w w xY wd S |j        D ]}t+          |          t,          k    r|j        j        |v r*t1          j        ||j        j                  }	 |                    |j        j                   |                     |j        |||||||           |                    |j        j                   # |                    |j        j                   w xY wt          |t:                    rA|r#|                     |j        |||||||           |                    | j                   $|j        r#|                     |j        |||||||           Nt+          |          t@          k    r<|!                    t          t          j"        | j        j#        dz                        |j$        }|Tt          |tJ                    r*|&                    t          j"        | j        j#                  }|'                    |           d S )Nr      )(r
   addaddOner   EPSILONisEmptyEOF
isinstancer   r   r"   	ruleIndexdiscardr   r   r   statesgetReturnStater   	getParentr   typer   r!   r   createfollowStatestateNumberremover   r#   	isEpsilonr   addRangeMIN_USER_TOKEN_TYPEmaxTokenTypelabelr   
complementaddSet)r   r   r*   r+   r%   r'   r0   r(   r1   cremovedireturnStatet
newContextset_s                   r   r   zLL1Analyzer._LOOKn   s   aC  ==FQ	>>{EM*** 6 EI&&&a(( 	{EM*** 6 EI&&&'---+89#++AK888"1c#hh// D D&*hoc6H6H6K6K&L

;	3==;K;KTS[]lnz  }C  D  D  D  DD  9'++AK888  9'++AK88889 	& 	&AAww.((8%887>sAMD]^^
?#''(:;;;JJqxJhP_amouvvv#**18+=>>>>O**18+=>>>>A:<< & /JJqxCxZfhnooooKK.... 	&

18YT8_Vbdjkkkka...uU%>@UXY@YZZ\\\\w#!!%566 a#u/H$(J_``KK%%%5	& 	&s   BG G"8A J!J9)NN)__name__
__module____qualname__	__slots__r   INVALID_TYPEr#   r	   r   r   r)   r   r/   r   r   r   boolr    r   r   r   r      s        I
 !H3    X    H X  K    J?&h ?&( ?&9J ?&Q\ ?&gj ?&%(?&7;?&DH?& ?& ?& ?& ?& ?&r   r   N)antlr4.IntervalSetr   antlr4.Tokenr   antlr4.PredictionContextr   r   r   antlr4.RuleContextr   antlr4.atn.ATNr	   antlr4.atn.ATNConfigr
   antlr4.atn.ATNStater   r   antlr4.atn.Transitionr   r   r   r   objectr   rX   r   r   <module>rb      s    + * * * * *       t t t t t t t t t t * * * * * *       * * * * * * 7 7 7 7 7 7 7 7 s s s s s s s s s s s s]& ]& ]& ]& ]&6 ]& ]& ]& ]& ]&r   