
    #hb                     x   S SK JrJrJrJr  S SKrS SKJr  S SKJ	r	  S SKJ
r
JrJr  S SKJrJr  S SKJrJr  0 r " S S	\5      r " S
 S\	5      r " S S\5      rSS jr\S:X  aV  S SKrS SKJr  \" \\SS9r\" S5        \" \5        \" 5         \" S5        \" \R6                  " \" \5      SS95        \" 5         gg)    )print_functiondivisionabsolute_importunicode_literalsN)Buffer)Parser)	tatsumasuleftrecnomemo)r
   r   )regeneric_mainc                   8   ^  \ rS rSr      SU 4S jjrSrU =r$ )contentlineBuffer   c           
      >   > [         [        U ]
  " U4UUUUUUS.UD6  g )N)
whitespace	nameguardcomments_reeol_comments_re
ignorecase	namechars)superr   __init__)
selftextr   r   r   r   r   r   kwargs	__class__s
            W/Users/user/Downloads/htwk/venv/lib/python3.13/site-packages/ics/grammar/contentline.pyr   contentlineBuffer.__init__   s9     	/		
!#+!		
 		
     )NNNNN )__name__
__module____qualname____firstlineno__r   __static_attributes____classcell__r   s   @r   r   r      s!     
 
r    r   c            
       D  ^  \ rS rSrSSSSSSSSS\4
U 4S jjr\" 5       S 5       r\" 5       S 5       r\" 5       S	 5       r	\" 5       S
 5       r
\" 5       S 5       r\" 5       S 5       r\" 5       S 5       r\" 5       S 5       r\" 5       S 5       r\" 5       S 5       rSrU =r$ )contentlineParser4   NFTr"   c                 V   > Uc  [         n[        [        U ]  " SUUUUUUUUU	U
S.
UD6  g )N)
r   r   r   r   r   left_recursion	parseinfokeywordsr   buffer_classr!   )KEYWORDSr   r+   r   )r   r   r   r   r   r   r.   r/   r0   r   r1   r   r   s               r   r   contentlineParser.__init__5   sM     H/ 	
!#+!)%	
 	
r    c                 f    U R                  5         U R                  S5        U R                  5         g )N@)_contentline_name_last_node
_check_eofr   s    r   _start_contentlineParser._start_S   s&    C r    c                    ^  T R                  5         T R                  S5        U 4S jnT R                  U5        T R                  S5        T R	                  5         g )Nr5   c                  j   > T R                  S5        T R                  5         T R                  S5        g )Nz(\r?\n)+r5   )_patternr6   add_last_node_to_namer9   s   r   block1(contentlineParser._full_.<locals>.block1^   s)    MM,' &&s+r    z(\r?\n)*)r6   r?   _positive_closurer>   r8   r   r@   s   ` r   _full_contentlineParser._full_Y   sH    ""3'	, 	v&l#r    c                   ^  T R                  5         T R                  S5        U 4S jnT R                  U5        T R                  S5        T R	                  5         T R                  S5        T R
                  R                  SS/S/5        g )Nnamec                  j   > T R                  S5        T R                  5         T R                  S5        g )N;params)_token_param_r?   r9   s   r   r@   /contentlineParser._contentline_.<locals>.block1k   s&    KKLLN&&x0r    :valuerJ   )_ALPHADIGIT_MINUS_PLUS_r7   _closurerK   _VALUE_CHAR_STAR_ast_definerC   s   ` r   r6   contentlineParser._contentline_f   su    $$&F#	1 	fC G$WJ	
r    c                   ^  T R                  5         T R                  S5        T R                  S5        T R                  5         T R	                  S5        U 4S jnT R                  U5        T R                  R                  S/S/5        g )NrG   =valuesc                  j   > T R                  S5        T R                  5         T R                  S5        g )N,rX   )rK   _param_value_r?   r9   s   r   block2)contentlineParser._param_.<locals>.block2   s)    KK &&x0r    )rP   r7   rK   r[   r?   rQ   rS   rT   )r   r\   s   ` r   rL   contentlineParser._param_x   sr    $$&F#C""8,	1 	fHJ	
r    c                    U R                  5          U R                  5          U R                  5         U R                  5         U R	                  5         U R                  S5        U R                  5         U R                  S5        U R                  S5        S S S 5        U R                  5          U R                  5         U R                  S5        U R                  S5        U R                  S5        S S S 5        U R                  S5        S S S 5        U R                  R                  SS// 5        g ! , (       d  f       N= f! , (       d  f       NW= f! , (       d  f       NO= f)NrO   truequotedfalsezno available options)_choice_option_DQUOTE__cut_QSAFE_CHAR_STAR_r7   	_constant_SAFE_CHAR_STAR__errorrS   rT   r9   s    r   r[   contentlineParser._param_value_   s    \\^		&&(##G,v&##H-   %%'##G,w'##H-	  
 KK./  	w	
     ^s<   EA4D2E.AE2E2
E 	<E
E	E
E"c                 &    U R                  S5        g )Nz[a-zA-Z0-9-]+r>   r9   s    r   rP   )contentlineParser._ALPHADIGIT_MINUS_PLUS_   s    o&r    c                 &    U R                  S5        g )Nz[^\x00-\x08\x0A-\x1F\x22\x7F]*rm   r9   s    r   rg   #contentlineParser._QSAFE_CHAR_STAR_   s    <=r    c                 &    U R                  S5        g )Nz*[^\x00-\x08\x0A-\x1F\x22\x2C\x3A\x3B\x7F]*rm   r9   s    r   ri   "contentlineParser._SAFE_CHAR_STAR_   s    KLr    c                 &    U R                  S5        g )Nz[^\x00-\x08\x0A-\x1F\x7F]*rm   r9   s    r   rR   #contentlineParser._VALUE_CHAR_STAR_   s    78r    c                 &    U R                  S5        g )N")rK   r9   s    r   re   contentlineParser._DQUOTE_   s    Cr    r!   )r#   r$   r%   r&   r   r   r	   r:   rD   r6   rL   r[   rP   rg   ri   rR   re   r'   r(   r)   s   @r   r+   r+   4   s    &
< [ 
 [
 
 [
 
" [
 
" [
 
* [' ' [> > [M M [9 9 [ r    r+   c                   P    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)contentlineSemantics   c                     U$ Nr!   r   rS   s     r   startcontentlineSemantics.start       
r    c                     U$ r|   r!   r}   s     r   fullcontentlineSemantics.full   r   r    c                     U$ r|   r!   r}   s     r   contentline contentlineSemantics.contentline   r   r    c                     U$ r|   r!   r}   s     r   paramcontentlineSemantics.param   r   r    c                     U$ r|   r!   r}   s     r   param_value contentlineSemantics.param_value   r   r    c                     U$ r|   r!   r}   s     r   ALPHADIGIT_MINUS_PLUS*contentlineSemantics.ALPHADIGIT_MINUS_PLUS   r   r    c                     U$ r|   r!   r}   s     r   QSAFE_CHAR_STAR$contentlineSemantics.QSAFE_CHAR_STAR   r   r    c                     U$ r|   r!   r}   s     r   SAFE_CHAR_STAR#contentlineSemantics.SAFE_CHAR_STAR   r   r    c                     U$ r|   r!   r}   s     r   VALUE_CHAR_STAR$contentlineSemantics.VALUE_CHAR_STAR   r   r    c                     U$ r|   r!   r}   s     r   DQUOTEcontentlineSemantics.DQUOTE   r   r    r!   N)r#   r$   r%   r&   r~   r   r   r   r   r   r   r   r   r   r'   r!   r    r   ry   ry      s4    r    ry   c                    Uc  SnU (       a  U S:X  a  [         R                  R                  5       nO$[        U 5       nUR                  5       nS S S 5        [	        5       nUR
                  " W4XS.UD6$ ! , (       d  f       N-= f)Nr~   -)	rule_namefilename)sysstdinreadopenr+   parse)r   r~   r   r   fparsers         r   mainr      sg    }x3yy~~(^q668D  F<<KKFKK ^s   A55
B__main__)asjsonr   )rG   zAST:zJSON:   )indentr|   )
__future__r   r   r   r   r   tatsu.bufferingr   tatsu.parsingr   r	   r
   r   
tatsu.utilr   r   r2   r   r+   objectry   r   r#   jsonr   rS   printdumpsr!   r    r   <module>r      s    S R 
 "   4 4 ) ' 
 
0~ ~B6 @	L z!
t.]
CC	&M	#J	G	'N	$**VC[
+,	G r    