
    kh&                         d dl 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 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mZ  G d de      Zy)    )DFA)TokenStream)Lexer)Parser)InterpreterRuleContextParserRuleContext)Token)ATN)StarLoopEntryStateATNStateLoopEndState)ParserATNSimulator)PredictionContextCache)
Transition)RecognitionExceptionUnsupportedOperationExceptionFailedPredicateExceptionc            
       ~     e Zd ZdZdededededef
 fdZde	fd	Z
d
ede	de	de	f fdZd ZdefdZdefdZ xZS )ParserInterpreter)grammarFileNameatn
tokenNames	ruleNamesdecisionToDFAsharedContextCache_parentContextStackpushRecursionContextStatesr   r   r   r   inputc                    t         |   |       || _        || _        || _        || _        |j                  D cg c]  }t        |       c}| _        t               | _
        t               | _        t               | _        |j                  D ]E  }t!        |t"              s|j$                  s!| j                  j'                  |j(                         G t+        | || j                  | j                        | _        y c c}w N)super__init__r   r   r   r   decisionToStater   r   r   r   listr   setr   states
isinstancer   isPrecedenceDecisionaddstateNumberr   _interp)selfr   r   r   r   r   state	__class__s          T/var/www/teggl/fontify/venv/lib/python3.12/site-packages/antlr4/ParserInterpreter.pyr"   zParserInterpreter.__init__)   s    .$"7:7J7JLes5zL"8":#'6 *-%'ZZ 	GEe%78))//33E4E4EF		G *$T5G5GI`I`a Ms   C>startRuleIndexc                    | j                   j                  |   }t        d t        j                  |      }|j
                  r| j                  ||j                  |d       n| j                  ||j                  |       	 | j                         }|j                  t        j                  k(  rt        | j                        dk(  ra|j
                  rC| j                  }| j                  j                         }| j!                  |j"                         |S | j%                          |S | j'                  |       n	 | j)                  |       # t*        $ r}| j                   j,                  |j.                     j                  | _        || j                  _        | j4                  j7                  | |       | j4                  j9                  | |       Y d }~d }~ww xY w)Nr   )r   ruleToStartStater   r   INVALID_STATE_NUMBERisPrecedenceRuleenterRecursionRuler*   	enterRulegetATNState	stateType	RULE_STOPlen_ctxr   popunrollRecursionContextsaexitRulevisitRuleStopState
visitStater   ruleToStopState	ruleIndexr-   	exception_errHandlerreportErrorrecover)r,   r0   startRuleStartStaterootContextpresultparentContextes           r/   parsezParserInterpreter.parse=   sy   "hh77G,T83P3PR`a//##K1D1P1PR`bcdNN;(;(G(GX  "A{{H...tyy>1$*;;!%(,(@(@(D(D(F44]__E%**''*6OOA&# $ , 6!%!9!9!++!F!R!RDJ*+DII'$$00q9$$,,T155	6s   7E	 		GA;GGlocalctxr-   rC   
precedencec                     | j                   j                  | j                  |j                  f       t        |   ||||       y r    )r   appendr;   invokingStater!   r5   )r,   rO   r-   rC   rP   r.   s        r/   r5   z$ParserInterpreter.enterRecursionRule\   s9      ''H4J4J(KL"8UIzJ    c                 H    | j                   j                  | j                     S r    )r   r&   r-   )r,   s    r/   r7   zParserInterpreter.getATNState`   s    xxtzz**rT   rJ   c                 H   d}t        |j                        dkD  rW| j                  j                  |        | j                  j                  | j                  |j                  | j                        }nd}|j                  |dz
     }|j                  }|t        j                  k(  r| j                  |j                     rIt        |j                  t               s.| j"                  d   }t%        |d   |d   | j                  j&                        }| j)                  || j*                  j,                  |j&                     j                  | j                  j&                         n|t        j.                  k(  r| j1                  |j2                         nt|t        j4                  t        j6                  t        j8                  fv ru|j;                  | j                  j=                  d      t>        j@                  tB        jD                        s| j                  jG                  |        | jI                          n|t        jJ                  k(  r| jI                          n|t        jL                  k(  r|j                  }|j&                  }t%        | j                  |j                  |      }|jN                  r*| jQ                  ||j                  ||jR                         n'| jU                  ||j                  j                  |       n|t        jV                  k(  r<| jY                  | j                  |j&                  |jZ                        st]        |       |t        j^                  k(  r2| ja                  | j                  |j&                  |jb                         nk|t        jd                  k(  rM| jg                  | j                  |jR                        s2dti        |jR                        z   dz   }	t]        | |	      tk        d      |j                  j                  | _6        y )Nr      zprecpred(_ctx, )z!Unrecognized ATN transition type.)7r:   transitionsrE   syncr+   adaptivePredict_inputdecisionr;   serializationTyper   EPSILONr   r*   r'   targetr   r   r   rC   pushNewRecursionContextr   r2   ATOMmatchlabelRANGESETNOT_SETmatchesLAr	   MIN_USER_TOKEN_TYPEr   MAX_CHAR_VALUErecoverInlinematchWildcardWILDCARDRULEr4   r5   rP   r6   	PREDICATEsempred	predIndexr   ACTIONactionactionIndex
PRECEDENCEprecpredstrr   r-   )
r,   rJ   edge
transitiontttctxruleStartStaterC   msgs
             r/   rA   zParserInterpreter.visitStatec   s   q}}!!!$'<<//QZZSDD]]4!8,
))z!!!..q}}=jQ[QbQbdpFq,,R0,QqT1Q49L9LM,,S$((2K2KAKK2X2d2dfjfofofyfyz JJz''(Z%%z~~z7I7IJJ%%dkknnQ&79R9RTYThThi  ..t4 $$$  '..N&00I(AMM9MC..''^-G-GT^TiTijsJ$5$5$A$A9M%%%<<		:+?+?AUAUV.t44"""KK		:#7#79O9OP&&&==J,A,AB'#j.C.C*DDsJ.tS99 00STT&&22
rT   c                    | j                   j                  |j                     }|j                  r@| j                  j                         }| j                  |j                         |d   | _        n| j                          | j                   j                  | j                     j                  d   }|j                  j                  | _        y )NrW   r   )r   r2   rC   r4   r   r<   r=   r>   r-   r?   r&   rZ   followStater*   )r,   rJ   r   rL   ruleTransitions        r/   r@   z$ParserInterpreter.visitRuleStopState   s    221;;?** 4488:M((9&q)DJMMO4@@C#//;;
rT   )__name__
__module____qualname__	__slots__ry   r$   r
   r   r"   intrN   r   r5   r7   r   rA   r@   __classcell__)r.   s   @r/   r   r   "   s    Ibs bt bt bQT b\g b(63 6>K*; K3 KRU Kbe K+;38 ;3z
<8 
<rT   r   N)antlr4.dfa.DFAr   antlr4.BufferedTokenStreamr   antlr4.Lexerr   antlr4.Parserr   antlr4.ParserRuleContextr   r   antlr4.Tokenr	   antlr4.atn.ATNr
   antlr4.atn.ATNStater   r   r   antlr4.atn.ParserATNSimulatorr   antlr4.PredictionContextr   antlr4.atn.Transitionr   antlr4.error.Errorsr   r   r   r    rT   r/   <module>r      s?   (  2    N   J J < ; , m mH< H<rT   