U
    :qLe9                    @   s8  d dl Z d dlmZ d dlmZ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 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 d dlmZ d dlmZmZmZm Z  d dl!m"Z" d dl#m$Z$m%Z%m&Z&m'Z' d dl(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5 G dd deZ6dS )    N)DFA)PredictionContextCachePredictionContextSingletonPredictionContext PredictionContextFromRuleContext)TokenStream)Parser)ParserRuleContext)RuleContext)Token)str_list)ATN)	ATNConfig)ATNConfigSet)ATNSimulator)StarLoopEntryStateDecisionStateRuleStopStateATNState)PredictionMode)SemanticContextAND
andContext	orContext)
TransitionRuleTransitionActionTransitionPrecedencePredicateTransitionPredicateTransitionAtomTransitionSetTransitionNotSetTransition)DFAStatePredPrediction)NoViableAltExceptionc                       st  e Zd ZdZdZdZdZeee	e
d fddZdd Zeeeddd	Zeeeeed
ddZeedddZeeedddZeedddZeeeeeedddZeeedddZeedddZeeedd d!Zed"d#d$Z e!ed%d&d'Z"e#eed(d)d*Z$e#e	d+d,d-Z%eed.d/d0Z&ed"d1d2Z'eed.d3d4Z(e	eed5d6d7Z)e*ee#eeed8d9d:Z+e*ee#eeeed;d<d=Z,e*ee#eeeed;d>d?Z-d@dA Z.edBdCdDZ/e0 Z1dEdF e1e!j2< dGdF e1e!j3< dHdF e1e!j4< dIdF e1e!j5< dJdF e1e!j6< dKdF e1e!j7< dLdF e1e!j8< dMdF e1e!j9< e*e!eeeedNdOdPZ:e*e;dQdRdSZ<e*e=eeedTdUdVZ>e*e?eeedTdWdXZ@e*eAdQdYdZZBed"d[d\ZCed"d]d^ZDed_d`daZEedbdcddZFeGdedfdgZHeeeedhdidjZIed"dkdlZJeeeedmdndoZKeedpdqdrZLee#eeedsdtduZMeeeeedvdwdxZNeeeeee#edydzd{ZO  ZPS )|ParserATNSimulatorF)parseratndecisionToDFAsharedContextCachec                    sD   t  || || _|| _tj| _d | _d| _d | _	d | _
d | _d S Nr   )super__init__r&   r(   r   ZLLpredictionMode_input_startIndex_outerContext_dfa
mergeCache)selfr&   r'   r(   r)   	__class__ t/home/p21-0144/sympy/latex2sympy2solve-back-end/sympyEq/lib/python3.8/site-packages/antlr4/atn/ParserATNSimulator.pyr,   	  s    	zParserATNSimulator.__init__c                 C   s   d S Nr6   )r3   r6   r6   r7   reset  s    zParserATNSimulator.reset)inputdecisionouterContextc              	   C   s  t jst jrRtdt| d | | d t|dj d t|dj  || _	|j
| _|| _| j| }|| _| }|j
}z|jr|| j }n|j}|d krl|d krtj}t jst jrtdt|j d | | d || jjd   d}| |jtj|}	|jrT|	|j_|  |	}	| !|t"|	d	}|#| j | n| !|t"|	d	}||_| $|||||}
t jrtd
|| jj  |
W S d | _d | _|| || X d S )NzadaptivePredict decision  exec LA(1)== line    :zpredictATN decision z, outerContext=FconfigszDFA after predictATN: )%r%   debugdebug_list_atn_decisionsprintstrgetLookaheadNameLTlinecolumnr.   indexr/   r0   r(   r1   markr2   seekreleaseprecedenceDfagetPrecedenceStartStater&   getPrecedences0r	   EMPTYr;   toStringliteralNamescomputeStartStateatnStartStaterB   applyPrecedenceFilteraddDFAStater"   setPrecedenceStartStateexecATN)r3   r:   r;   r<   dfamrK   rR   fullCtx
s0_closurealtr6   r6   r7   adaptivePredict"  sn    



z"ParserATNSimulator.adaptivePredict)r\   rR   r:   
startIndexr<   c              	   C   s  t jst jrTtdt|j d | | d t|dj d t|dj	  |}t jrntdt|  |
d}| ||}|d kr| |||}|| jkr| |||j|}	|| | |j|}
|
tjkr|
S |	|jr| jtjkr|jj}|jd k	r~t jrtd |j}||kr4|| | |j|d}t|dkrjt jrbtd	 t|S ||kr~|| t jrtd
t| d t|  d}| |j ||}| !|||j||j | "||||||}
|
S |j#rv|jd kr|j$S |j}|| | |j|d}t|dkr@| |||j|n6t|dkrVt|S | %||||d||j t|S |}|t&j'krx|(  |
d}qxd S )NzexecATN decision r=   r>   r?   r@   zs0 = z*DFA state has preds in DFA sim LL failoverTzFull LL avoidedzctx sensitive state z in r   F))r%   rC   rD   rE   rF   r;   rG   rH   rI   rJ   LAgetExistingTargetStatecomputeTargetStateERRORnoViableAltrB   rM   7getSynValidOrSemInvalidAltThatFinishedDecisionEntryRuler   INVALID_ALT_NUMBERrequiresFullContextr-   r   ZSLLconflictingAlts
predicatesrK   evalSemanticContextlenmin	dfa_debugrV   rW   reportAttemptingFullContextexecATNWithFullContextisAcceptState
predictionreportAmbiguityr   EOFconsume)r3   r\   rR   r:   rb   r<   	previousDtDer`   rk   ZconflictIndexr^   r_   	stopIndexaltsr6   r6   r7   r[   ~  s    










zParserATNSimulator.execATN)rx   ry   c                 C   s>   |j }|d ks*|d dk s*|d t|kr.d S ||d  S d S )Nr?   r   )edgesrn   )r3   rx   ry   r~   r6   r6   r7   rd     s    $z)ParserATNSimulator.getExistingTargetState)r\   rx   ry   c                 C   sF  |  |j|d}|d kr0| |||| j | jS t|d}| |}tjrt	|}t
dt| d t| d t| d tt| d t| |  |tjkrd|_||j_||_n6t| j|r| ||j_d|_d|_t|jj|_|jr2|jjr2| || j|j |jd k	r2tj|_| ||||}|S )	NFrA   zSLL altSubSets=z
, configs=
, predict=z, allSubsetsConflict=z, conflictingAlts=T)computeReachSetrB   
addDFAEdgerf   r"   getUniqueAltr%   rC   r   getConflictingAltSubsetsrE   rF   allSubsetsConflictgetConflictingAltsr   ri   rs   	uniqueAltrt   Z#hasSLLConflictTerminatingPredictionr-   rk   rj   ro   hasSemanticContextpredicateDFAStater'   getDecisionStater;   rl   )r3   r\   rx   ry   reachrz   predictedAlt
altSubSetsr6   r6   r7   re     sH    



z%ParserATNSimulator.computeTargetState)dfaStatedecisionStatec                 C   sT   t |j}| |j}| ||j|}|d k	rF| |||_tj|_	n
t
||_	d S r8   )rn   transitionsgetConflictingAltsOrUniqueAltrB   getPredsForAmbigAltsgetPredicatePredictionsrl   r   ri   rt   ro   )r3   r   r   naltsZaltsToCollectPredsFrom	altToPredr6   r6   r7   r     s    

z$ParserATNSimulator.predicateDFAState)r\   rz   rR   r:   rb   r<   c              	   C   s  t jst jrtdt| d}d}d }	|}
|| |d}d}| |
||}	|	d kr| |||
|}|| | 	|
|}|t
jkr|S |t|	}t jrtdt| d tt| d tt|  | |	|	_|	jt
jkr|	j}qnnT| jtjk	r"t|}|t
jkrLqnn*t|rLt|rLd}t|}qn|	}
|tjkrB|  |d}qB|	jt
jkr| |||	||j |S | ||||j|d |	 |S )	Nrr   TFr?   zLL altSubSets=r   z, resolvesToJustOneViableAlt=)r%   rC   rD   rE   rF   rM   rc   r   rg   rh   r   ri   r   r   r   ZresolvesToJustOneViableAltr   r-   ZLL_EXACT_AMBIG_DETECTIONr   ZallSubsetsEqualZgetSingleViableAltr   rv   rw   reportContextSensitivityrK   ru   )r3   r\   rz   rR   r:   rb   r<   r^   ZfoundExactAmbigr   previousry   r   r{   r`   r   r6   r6   r7   rr   ,  s^    








z)ParserATNSimulator.execATNWithFullContext)closurery   r^   c              	   C   s  t jrtdt|  | jd kr(t | _t|}d }|D ]}t jr`td| | d t|  t|j	t
r|sz|tjkr8|d krt }|| q8|j	jD ].}| ||}|d k	r|t||d| j qq8d }	|d kr|tjkrt|dkr|}	n| |tjkr|}	|	d krRt|}	t }
|tjk}|D ]}| ||	|
d|| q6|tjkrn| |	|	|k}	|d k	r|rt|	s|D ]}|	|| j qt|	dkrd S |	S d S )Nz&in computeReachSet, starting closure: ztesting z at stateconfigr?   Fr   )r%   rC   rE   rF   r2   dictr   getTokenName
isinstancer   r   r   rv   listappendr   getReachableTargetaddr   rn   r   r   ri   setr   "removeAllConfigsNotInRuleStopStater   ZhasConfigInRuleStopState)r3   r   ry   r^   ZintermediateZskippedStopStatesctranstargetr   closureBusytreatEofAsEpsilonr6   r6   r7   r     sN    




z"ParserATNSimulator.computeReachSet)rB   lookToEndOfRulec                 C   s   t |r|S t|j}|D ]j}t|jtr<||| j q|r|jj	r| j
|j}tj|kr| j
j|jj }|t||d| j q|S Nr   )r   ZallConfigsInRuleStopStatesr   r^   r   r   r   r   r2   epsilonOnlyTransitionsr'   
nextTokensr   EPSILONruleToStopState	ruleIndexr   )r3   rB   r   resultr   r   ZendOfRuleStater6   r6   r7   r     s    


z5ParserATNSimulator.removeAllConfigsNotInRuleStopState)pctxr^   c           
   	   C   sd   t | j|}t|}tdt|jD ]:}|j| j}t||d |}t }	| 	|||	d|d q$|S )Nr   r?   TF)
r   r'   r   rangern   r   r   r   r   r   )
r3   r   r   r^   initialContextrB   ir   r   r   r6   r6   r7   rV   #  s    z$ParserATNSimulator.computeStartStaterA   c                 C   s   t  }t|j}|D ]j}|jdkr$q|j| j| j}|d kr@q|j||j	j
< ||jk	rp|t||d| j q||| j q|D ]@}|jdkrq|js||j	j
d }||jkrq||| j q|S )Nr?   )r   semantic)r   r   r^   r`   semanticContextevalPrecedencer&   r0   contextr   stateNumberr   r   r2   precedenceFilterSuppressedget)r3   rB   ZstatesFromAlt1Z	configSetr   ZupdatedContextr   r6   r6   r7   rX   g  s*    




z(ParserATNSimulator.applyPrecedenceFilter)r   ttypec                 C   s    | |d| jjr|jS d S d S r*   )matchesr'   maxTokenTyper   )r3   r   r   r6   r6   r7   r     s    z%ParserATNSimulator.getReachableTarget)	ambigAltsrB   r   c                 C   s   d g|d  }|D ]&}|j |krt||j  |j||j < qd}td|d D ]2}|| d krhtj||< qL|| tjk	rL|d7 }qL|dkrd }tjrtdt	|  |S )Nr?   r   zgetPredsForAmbigAlts result )
r`   r   r   r   r   NONEr%   rC   rE   r   )r3   r   rB   r   r   r   Z	nPredAltsr   r6   r6   r7   r     s    

z'ParserATNSimulator.getPredsForAmbigAlts)r   r   c                 C   s^   g }d}t dt|D ]:}|| }|d k	rB||krB|t|| |tjk	rd}q|sZd S |S )NFr?   T)r   rn   r   r#   r   r   )r3   r   r   pairsZcontainsPredicater   predr6   r6   r7   r     s    
z*ParserATNSimulator.getPredicatePredictions)rB   r<   c                 C   sR   |  ||\}}| |}|tjkr(|S t|dkrL| |}|tjkrL|S tjS r*   ) splitAccordingToSemanticValidity#getAltThatFinishedDecisionEntryRuler   ri   rn   )r3   rB   r<   ZsemValidConfigsZsemInvalidConfigsr`   r6   r6   r7   rh     s    



zJParserATNSimulator.getSynValidOrSemInvalidAltThatFinishedDecisionEntryRulec                 C   sZ   t  }|D ]0}|jdks.t|jtr
|j r
||j q
t	|dkrNt
jS t|S d S r*   )r   reachesIntoOuterContextr   r   r   r   hasEmptyPathr   r`   rn   r   ri   ro   )r3   rB   r}   r   r6   r6   r7   r     s     z6ParserATNSimulator.getAltThatFinishedDecisionEntryRulec                 C   sh   t |j}t |j}|D ]F}|jtjk	rT|j| j|}|rH|| q^|| q|| q||fS r8   )r   r^   r   r   r   evalr&   r   )r3   rB   r<   Z	succeededfailedr   predicateEvaluationResultr6   r6   r7   r     s    

z3ParserATNSimulator.splitAccordingToSemanticValidity)predPredictionsr<   completec                 C   s   t  }|D ]}|jtjkr0||j |s
 qq
|j| j|}tj	sLtj
rhtdt| d t|  |r
tj	sxtj
rtdt|j  ||j |s
 qq
|S )Nz
eval pred =zPREDICT )r   r   r   r   r   r`   r   r&   r%   rC   rp   rE   rF   )r3   r   r<   r   Zpredictionspairr   r6   r6   r7   rm   #  s"    z&ParserATNSimulator.evalSemanticContext)r   rB   r   collectPredicatesr^   r   c              	   C   s   d}|  ||||||| d S r*   )closureCheckingStopState)r3   r   rB   r   r   r^   r   ZinitialDepthr6   r6   r7   r   ?  s      zParserATNSimulator.closure)r   rB   r   r   r^   depthr   c              
   C   sZ  t jrtdt| d  t|jtr@|j s
t	dt
|jD ]}|j|}	|	tjkr|r|t|jtj|d| j qDqDt jrtd| |jj  | ||||||| qD| jj|	 }
|j|}t|
|j||jd}|j|_| ||||||d | qDd S |r"||| j d S t jr@td| |jj  | ||||||| d S )Nzclosure()r   r   r   r   zFALLING off rule )r   r`   r   r   r?   )r%   rC   rE   rF   r   r   r   r   isEmptyr   rn   getReturnStater   EMPTY_RETURN_STATEr   r   rS   r2   getRuleNamer   closure_r'   states	getParentr`   r   r   r   )r3   r   rB   r   r   r^   r   r   r   r   returnState
newContextr   r6   r6   r7   r   E  s<    
  z+ParserATNSimulator.closureCheckingStopStatec              
   C   sF  |j }|js||| j d}	|jD ]}
|	r>d}	| |r>q$|oLt|
t }| ||
||dk||}|d k	r$|}t|j t	r| j
d k	r| j
jr|
j| j
jjkrd|_| jd7  _||krq$|| d|_|d8 }tjrtdt|  n<|
js||krq$|| t|
tr*|dkr*|d7 }| ||||||| q$d S )NTFr   r?   zdips into outer ctx: )r   r   r   r2   r   'canDropLoopEntryEdgeInLeftRecursiveRuler   r   getEpsilonTargetr   r1   rO   outermostPrecedenceReturnrW   r   r   r   dipsIntoOuterContextr%   rC   rE   rF   	isEpsilonr   r   )r3   r   rB   r   r   r^   r   r   r   firstry   ZcontinueCollectingr   ZnewDepthr6   r6   r7   r   o  sB    




zParserATNSimulator.closure_c                 C   sZ  |j }|jtjks,|jr,|j s,|j r0dS t|j}t	d|D ]*}| j
j|j| }|j|jkrD dS qD|jd j}|jj}| j
j| }t	d|D ]}|j|}	| j
j|	 }t|jdks|jd js dS |jd j}
|jtjkr|
|krq||krq|
|krq|
jtjkrPt|
jdkrP|
jd jrP|
jd j|krPq dS dS )NFr   r?   T)r   	stateTyper   STAR_LOOP_ENTRYisPrecedenceDecisionr   r   r   rn   r   r'   r   r   r   r   r   endStater   r   	BLOCK_END)r3   r   r   ZnumCtxsr   r   ZdecisionStartStateZblockEndStateNumZblockEndStateZreturnStateNumberZreturnStateTargetr6   r6   r7   r     sN    



z:ParserATNSimulator.canDropLoopEntryEdgeInLeftRecursiveRule)rK   c                 C   s2   | j d k	r|dkr| j j| S dt| d S d S )Nr   z<rule >)r&   	ruleNamesrF   )r3   rK   r6   r6   r7   r   <  s    zParserATNSimulator.getRuleNamec                 C   s   |  ||S r8   )ruleTransitionsimr   ry   r   	inContextr^   r   r6   r6   r7   <lambda>C  s    zParserATNSimulator.<lambda>c                 C   s   |  |||||S r8   )precedenceTransitionr   r6   r6   r7   r   E  s    c                 C   s   |  |||||S r8   )predTransitionr   r6   r6   r7   r   G  s    c                 C   s   |  ||S r8   )actionTransitionr   r6   r6   r7   r   I  s    c                 C   s   t |j|dS r   )r   r   r   r6   r6   r7   r   K  s    c                 C   s&   |r"| tjddr"t|j|dS d S Nr   r?   r   r   r   rv   r   r   r   r6   r6   r7   r   M  s    c                 C   s&   |r"| tjddr"t|j|dS d S r   r   r   r6   r6   r7   r   O  s    c                 C   s&   |r"| tjddr"t|j|dS d S r   r   r   r6   r6   r7   r   Q  s    )r   ry   r   r   r^   r   c                 C   s4   | j |jd }|d krd S || ||||||S d S r8   )epsilonTargetMethodsr   serializationType)r3   r   ry   r   r   r^   r   r]   r6   r6   r7   r   T  s    z#ParserATNSimulator.getEpsilonTarget)r   ry   c                 C   s4   t jr&tdt|j d t|j  t|j|dS )NzACTION edge r@   r   )r%   rC   rE   rF   r   actionIndexr   r   )r3   r   ry   r6   r6   r7   r   [  s     z#ParserATNSimulator.actionTransition)r   ptr   r   r^   c           
      C   s   t jrHtdt| d t|j d  | jd k	rHtdt| j   d }|r|r|r| jj}| j	| j
 | | j| j}| j	| |rt|j|d}qt|j| }	t|j|	|d}nt|j|d}t jrtdt|  |S )NPRED (collectPredicates=) z>=_p, ctx dependent=truecontext surrounding pred is r   r   r   r   config from pred transition=)r%   rC   rE   rF   
precedencer&   getRuleInvocationStackr.   rK   rM   r/   getPredicater   r0   r   r   r   r   
r3   r   r   r   r   r^   r   ZcurrentPositionZpredSucceedsZ	newSemCtxr6   r6   r7   r   `  s.    
z'ParserATNSimulator.precedenceTransitionc           
      C   s  t jr`tdt| d t|j d t|j d t|j  | jd k	r`tdt| j   d }|r|jrx|jr|r|r| j	j
}| j	| j | | j| j}| j	| |rt|j|d}qt|j| }	t|j|	|d}nt|j|d}t jrtdt|  |S )	Nr   r   r@   z, ctx dependent=r   r   r   r   )r%   rC   rE   rF   r   	predIndexisCtxDependentr&   r   r.   rK   rM   r/   r   r   r0   r   r   r   r   r  r6   r6   r7   r   ~  s6    
z!ParserATNSimulator.predTransitionc                 C   sP   t jr*td| |jj d t|j  |j}t	
|j|j}t|j||dS )Nz
CALL rule z, ctx=r   )r%   rC   rE   r   r   r   rF   r   followStater   creater   r   )r3   r   ry   r   r   r6   r6   r7   r     s
    $z!ParserATNSimulator.ruleTransitionc                 C   s   t |}t |S r8   )r   r   ZgetAlts)r3   rB   Zaltsetsr6   r6   r7   r     s    
z%ParserATNSimulator.getConflictingAltsc                 C   s.   d }|j tjkr$t }||j  n|j}|S r8   )r   r   ri   r   r   rk   )r3   rB   rk   r6   r6   r7   r     s    z0ParserATNSimulator.getConflictingAltsOrUniqueAlt)ry   c                 C   s\   |t jkrdS | jd k	rP| jjd k	rP|t| jjk rP| jj| d t| d S t|S d S )Nrv   <r   )r   rv   r&   rU   rn   rF   )r3   ry   r6   r6   r7   r     s    


zParserATNSimulator.getTokenName)r:   c                 C   s   |  |dS Nr?   )r   rc   )r3   r:   r6   r6   r7   rG     s    z#ParserATNSimulator.getLookaheadName)nvaec                 C   s   t d | D ]}d}t|jjdkr~|jjd }t|trPd| |j }n.t|t	r~t|t
}|rldndd t|j }t || jdd	 | tjd
 qd S )Nzdead end configs: zno edgesr   zAtom ~ zSet Tr@   )file)rE   ZgetDeadEndConfigsrn   r   r   r   r   r   labelr    r!   rF   r   rT   r&   sysstderr)r3   r  r   r   ry   negr6   r6   r7   dumpDeadEndConfigs  s    


z%ParserATNSimulator.dumpDeadEndConfigs)r:   r<   rB   rb   c                 C   s    t | j||||d||S r  )r$   r&   r   rH   )r3   r:   r<   rB   rb   r6   r6   r7   rg     s    zParserATNSimulator.noViableAltc                 C   s:   t j}|D ]*}|t jkr |j}q
|j|kr
t j  S q
|S r8   )r   ri   r`   )r3   rB   r`   r   r6   r6   r7   r     s    

zParserATNSimulator.getUniqueAlt)r\   from_ry   toc                 C   s   t jr0tdt| d t| d | |  |d kr<d S | ||}|d ksd|dk sd|| jjkrh|S |jd krd g| jjd  |_||j|d < t jr| j	d krd n| j	j
}td||  |S )NzEDGE z -> z upon r      r?   zDFA=
)r%   rC   rE   rF   r   rY   r'   r   r~   r&   rU   rT   )r3   r\   r  ry   r  namesr6   r6   r7   r     s    *
zParserATNSimulator.addDFAEdge)r\   rz   c                 C   sx   || j kr|S |j|d }|d k	r(|S t|j|_|jjsT|j|  |jd ||j|< t	j
rttdt|  |S )NTzadding new DFA state: )rf   r   r   rn   r   rB   readonlyoptimizeConfigssetReadonlyr%   rC   rE   rF   )r3   r\   rz   existingr6   r6   r7   rY   6  s    

zParserATNSimulator.addDFAState)r\   rk   rB   rb   r|   c                 C   st   t jst jrJ||d f}tdt|j d t| d | j |  | jd k	rp| j	 
| j||||| d S )Nr?   z%reportAttemptingFullContext decision=r@   , input=)r%   rC   retry_debugrE   rF   r;   r&   getTokenStreamgetTextgetErrorListenerDispatchrq   )r3   r\   rk   rB   rb   r|   intervalr6   r6   r7   rq   H  s    
z.ParserATNSimulator.reportAttemptingFullContext)r\   rt   rB   rb   r|   c                 C   st   t jst jrJ||d f}tdt|j d t| d | j |  | jd k	rp| j	 
| j||||| d S )Nr?   z"reportContextSensitivity decision=r@   r  )r%   rC   r  rE   rF   r;   r&   r  r  r  r   )r3   r\   rt   rB   rb   r|   r  r6   r6   r7   r   P  s    
z+ParserATNSimulator.reportContextSensitivity)r\   rz   rb   r|   exactr   rB   c           	   	   C   st   t jst jrH||d f}tdt| d t| d | j |  | jd k	rp| j 	| j|||||| d S )Nr?   zreportAmbiguity r@   r  )
r%   rC   r  rE   rF   r&   r  r  r  ru   )	r3   r\   rz   rb   r|   r  r   rB   r  r6   r6   r7   ru   Y  s    
z"ParserATNSimulator.reportAmbiguity)Q__name__
__module____qualname__rC   rD   rp   r  r   r   r   r   r,   r9   r   intr	   ra   r   r"   r[   rd   re   r   r   r   rr   boolr   r   r   r
   rV   rX   r   r   r   r   r   rh   r   r   rm   r   r   r   r   r   r   r   r   RULE
PRECEDENCE	PREDICATEACTIONr   ATOMRANGESETr   r   r   r   r   r   r   r   r   r   r   r   rG   r$   r  rg   r   r   rY   rq   r   ru   __classcell__r6   r6   r4   r7   r%     s   \a(g D% >* A(	
$	  r%   )7r  antlr4r   antlr4.PredictionContextr   r   r   r   antlr4.BufferedTokenStreamr   antlr4.Parserr   antlr4.ParserRuleContextr	   antlr4.RuleContextr
   antlr4.Tokenr   antlr4.Utilsr   antlr4.atn.ATNr   antlr4.atn.ATNConfigr   antlr4.atn.ATNConfigSetr   antlr4.atn.ATNSimulatorr   antlr4.atn.ATNStater   r   r   r   antlr4.atn.PredictionModer   antlr4.atn.SemanticContextr   r   r   r   antlr4.atn.Transitionr   r   r   r   r   r   r    r!   antlr4.dfa.DFAStater"   r#   antlr4.error.Errorsr$   r%   r6   r6   r6   r7   <module>   s&   (