
    khH                         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y)    )IntervalSet)Token)PredictionContextSingletonPredictionContext PredictionContextFromRuleContext)RuleContext)ATN)	ATNConfig)ATNStateRuleStopState)WildcardTransitionNotSetTransitionAbstractPredicateTransitionRuleTransitionc                   ~    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y)LL1Analyzeratnc                     || _         y )N)r   )selfr   s     N/var/www/teggl/fontify/venv/lib/python3.12/site-packages/antlr4/LL1Analyzer.py__init__zLL1Analyzer.__init__   s	        sc                 x   |y t        |j                        }g |z  }t        d|      D ]  }t               ||<   t               }d}| j	                  |j                  |      j                  d t        j                  ||   |t               |d       t        ||         dk(  s| j                  ||   v s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AMM"EzE? 		!CDIuH LJJq||C(//7H7N7Ns)XsulEC 49~q DMMT#Y$> S			! r   N	stopStatectxc           
          t               }d}|t        |j                  |      nd }| j                  ||||t	               t	               |d       |S )NT)r   r   r   r   r   )r   r   r*   r+   rr(   lookContexts          r   LOOKzLL1Analyzer.LOOKI   sI    MFIo6quucB[_

1ia|TRr   r%   r'   calledRuleStackr(   addEOFc	                    t        |d|      }	|	|v ry |j                  |	       ||k(  rT| |j                  t        j                         y |j                         r"|r |j                  t        j                         y t        |t              r| |j                  t        j                         y |j                         r"|r |j                  t        j                         y |t        j                  k7  r|j                  |v }
	 |j                  |j                         t        dt        |            D ]Q  }| j                  j                   |j#                  |         }| j%                  |||j'                  |      |||||       S 	 |
r|j                  |j                         y |j(                  D ]  }t+        |      t,        k(  r|j.                  j                  |v r/t1        j2                  ||j4                  j6                        }	 |j                  |j.                  j                         | j%                  |j.                  |||||||       |j9                  |j.                  j                         t        |t:              rB|r#| j%                  |j.                  |||||||       |j                  | j<                         |j>                  r$| j%                  |j.                  |||||||       It+        |      t@        k(  rB|jC                  t        t        jD                  | j                  jF                  dz                |jH                  }|t        |tJ              r4|jM                  t        jD                  | j                  jF                        }|jO                  |        y # |
r|j                  |j                         w w xY w# |j9                  |j.                  j                         w xY w)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 =Q	>{EMM*6EII&a({EMM*6EII&'---++89#++AKK8"1c#h/ D&*hhooc6H6H6K&L

;	3==;KTS[]lnz  }C  DD '++AKK8 	&AAw.(88%%87>>sAMMD]D]^
?#''(:(:;JJqxxJhP_amouv#**188+=+=>A:<JJqxxCxZfhnoKK.

188YT8_Vbdjka..uU%>%>@U@UXY@YZ\ww#!!%56#u/H/H$((J_J_`KK%5	&	 '++AKK8  $**188+=+=>s   BN9 AO9 O'P)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      s3    +  t t *  * 7 s s]&6 ]&r   