
    L&iPH                         d Z ddlZddlmZmZ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mZ g dZ G d de          Z G d d	e          Z G d
 de          ZdS )z
    pygments.lexers.unicon
    ~~~~~~~~~~~~~~~~~~~~~~

    Lexers for the Icon and Unicon languages, including ucode VM.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    N)
RegexLexerincludebygroupswordsusingthis)TextCommentOperatorKeywordNameStringNumberPunctuation)	IconLexer
UcodeLexerUniconLexerc                   ~   e Zd ZdZdZdgZdgZdgZej	        Z
defdej        fdefdej        d	fd
 eej        eej                  dfdej        fdej        fdej        fdej        fdej        fdej        f eddd          ej        f eddd          ej        f ed          defdefdej        fdefdefd ee ee                    fdefdefdefgd ej         fd!ej!        fd"ej"        fgd#ed$fd%ed&fd'ej        f ed(          gd#ed)fgd*ed&fd+ej#        fd,efd-ej        f ed(          gd.Z$d/S )0r   z<
    For Unicon source code.

    .. versionadded:: 2.4
    Uniconuniconz*.icnztext/unicon[^\S\n]+#.*?\nclass|method|procedure
subprogram(record)(\s+)(\w+)type_def^(#line|\$C|\$Cend|\$define|\$else|\$endif|\$error|\$ifdef|\$ifndef|\$include|\$line|\$undef)\b(&null|&fail)\b  &allocated|&ascii|&clock|&collections|&column|&col|&control|&cset|&current|&dateline|&date|&digits|&dump|&errno|&errornumber|&errortext|&errorvalue|&error|&errout|&eventcode|&eventvalue|&eventsource|&e|&features|&file|&host|&input|&interval|&lcase|&letters|&level|&line|&ldrag|&lpress|&lrelease|&main|&mdrag|&meta|&mpress|&mrelease|&now|&output|&phi|&pick|&pi|&pos|&progname|&random|&rdrag|&regions|&resize|&row|&rpress|&rrelease|&shift|&source|&storage|&subject|&time|&trace|&ucase|&version|&window|&x|&y(by|of|not|to)\bz (global|local|static|abstract)\bzpackage|link|import)breakcasecreatecriticaldefaultendalldoelseeveryfailifimportinitial	initially	invocablenextrepeatreturnsuspendthenthreaduntilwhile\bprefixsuffix(+  AbortabsacosActiveAlertanyAnyArbArbnoargsarrayasinatanatanhAttribBalbalBgBreakBreakxcalloutcentercharchdirchmodchownchroot	classnameClipCloneclosecofailcollectColor
ColorValuecondvarconstructorcopyCopyAreacosCouplecryptcsetctime	dbcolumnsdbdriverdbkeysdblimits	dbproductdbtablesdelaydeletedetabdisplayDrawArc
DrawCircleDrawCube	DrawCurveDrawCylinderDrawDisk	DrawImageDrawLine	DrawPointDrawPolygonDrawRectangleDrawSegment
DrawSphere
DrawString	DrawTorusdtorentab	EraseArea
errorclearEvent	eventmaskEvGetEvSendexecexitexpEyeFailfcntlfdupFencefetchFg
fieldnamesfilepairFillArc
FillCircleFillPolygonFillRectanglefindflockflushFontfork	FreeColor	FreeSpacefunctiongetgetchgetchegetegidgetenvgeteuidgetgidgetgrgethostgetpgrpgetpidgetppidgetpw	getrusagegetservGetSpacegettimeofdaygetuidglobalnamesGotoRCGotoXYgtimehardlinkiandicomIdentityMatriximageInPortinsertInt86integerioctliorishiftistateixorkbhitkeykeywordkillleftLenlistloadloadfunc
localnameslocklogLowerlstatmanymapmatch
MatrixModemaxmembermembernamesmethodnamesmethodsminmkdirmove
MultMatrixmutexnameNewColorNormalsNotAnynumericopenopencloprecordOutPortPaletteCharsPaletteColor
PaletteKey
paramnamesparentPatternPeekPendingpipePixel	PlayAudioPokepop	PopMatrixPosposprocpullpush
PushMatrix
PushRotate	PushScalePushTranslateputQueryPointerRaiseread	ReadImagereadlinkreadsreadyrealreceiveRefreshRemremoverenamereplreverserightrmdirRotateRposRtabrtodrunerrsaveScaleseekselectsendseqserialsetsetenvsetgidsetgrent
sethostentsetpgrpsetpwent
setserventsetuidsignalsinsortsortfSpanspawnsqlsqrtstatstaticnamesstop	StopAudiostring	structureSucceedSwisymlink
sys_errstrsystemsyswriteTabtabtabletanTexcoordTexture	TextWidth	TranslatetraptrimtruncatetrylocktypeumaskUncoupleunlockuptoutimevariableVAttribwaitWAttribWDefaultWFlushwhereWinAssociate	WinButtonWinColorDialogWindowContentsWinEditRegionWinFontDialog
WinMenuBarWinOpenDialogWinPlayMediaWinSaveDialogWinScrollBarWinSelectDialogwrite
WriteImagewritesWSectionWSyncnumberszc<@|<<@|>@|>>@|\.>|->|===|~===|\*\*|\+\+|--|\.|~==|~=|<=|>=|==|=|<<=|<<|>>=|>>|:=:|:=|->|<->|\+:=|\|"(?:[^\\"]|\\.)*"'(?:[^\\']|\\.)*'[*<>+=/&!?@~\\-]z\^(\w+)(\s*|[(,])[\[\]]z<>|=>|[()|:;,.'`{}%&?]\n+3\b([+-]?([2-9]|[12][0-9]|3[0-6])[rR][0-9a-zA-Z]+)\b'[+-]?[0-9]*\.([0-9]*)([Ee][+-]?[0-9]*)?\b([+-]?[0-9]+[KMGTPkmgtp]?)\b\(#popformal_part;rt  "[^"]+"|\w+rootru  \)\w+,(:string|:integer|:real)\brx  rh  r   r   ru  N%__name__
__module____qualname____doc__r   aliases	filenames	mimetypesre	MULTILINEflagsr	   r
   Singler   Declarationr   TypePreProcConstantReservedr   r   Functionr   r   r   	Characterr   r   r   r   HexFloatIntegerVariabletokens     c/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/pygments/lexers/unicon.pyr   r      sd         DjG	IILE $'$&(;\J"Xg)4>>
L56=oG!12  '/1 !'"230'2BC#W%89U 4
 =B%Q Q Q  U =z "'u{=6 =6 =6| ]}>~ GI67?A!6*!6#34 (+H$d!<!<=$&4TNSj
X DVZP7F.?
 K!89;'T]+GFOO	
 K/
 K(T]#;*G,<=GFOO
uA AFFFr  r   c                   x   e Zd ZdZdZdgZddgZg Zej	        Z
defdej        fdefdej        d	fd
 eej        eej                  dfdej        fdej        fdej        fdej        fdej        fdej        f eddd          ej        f eddd          ej        f ed          defdefdej        fdefd ee ee                    fdefdefdefgdej         fd ej!        fd!ej"        fgd"ed#fd$ed%fd&ej        f ed'          gd"ed(fgd)ed%fd*ej#        fd+efd,ej        f ed'          gd-Z$d.S )/r   z4
    Lexer for Icon.

    .. versionadded:: 1.6
    Iconiconz*.iconz*.ICONr   r   r   r   r   r   r   r   r   r    z(global|local|static)\blink)r!   r"   r#   r%   r&   r'   r(   r)   r*   r+   r,   r.   r0   r1   r2   r3   r4   r5   r7   r8   r9   r:   )r>   r?   r@   rA   rB   rF   rG   rH   rI   rJ   rK   rM   rN   rQ   rR   rS   rT   rU   rV   rW   rY   rZ   r[   r\   r]   r^   r_   r`   rb   rc   rd   re   rf   rg   rh   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r	  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r)  r*  r+  r,  r-  r/  r0  r1  r2  r3  r4  r6  r7  r9  r:  r;  r<  r=  r?  r@  rA  rB  rC  rD  rE  rF  rG  rH  rI  rJ  rK  rL  rM  rN  rO  rP  rR  rS  rT  rU  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  r`  ra  rb  rc  rd  re  rf  rg  rh  zS===|~===|\*\*|\+\+|--|\.|==|~==|<=|>=|=|~=|<<=|<<|>>=|>>|:=:|:=|<->|<-|\+:=|\|\||\|ri  rj  rk  rl  rm  z<>|=>|[()|:;,.'`{}%\^&?]rn  ro  rp  rq  rr  rs  rv  rt  rw  rx  ru  ry  rz  r{  r|  r}  Nr~  r  r  r  r   r      s[        
 DhG8$IILE $'$&(;\J"Xg)4>>
L56=oG!12  '/1 !'"23')9:g)*U *
 38G G G  U :t "'uu:6 :6 :6v ]w;x GI+,46!6*!6#34 (+$d!<!<=$(+6TNKf
P DVZP7F.?
 K!89;'T]+GFOO	
 K/
 K(T]#;*G,<=GFOO
m} }FFFr  r   c                   "   e Zd ZdZdZdgZg dZg Zej	        Z
ddef eddd          ej        f ed	dd          ef ed
dd          ej        f eddd          ej        fdej        fdej        fdej        fdefdefdefgiZd ZdS )r   z@
    Lexer for Icon ucode files.

    .. versionadded:: 2.4
    ucode)z*.uz*.u1z*.u2rx  z(#.*\n))condeclendr&   globalimplr0   labr  localrecorduidunionsversionr9   r:   )colmfilenlinesynt)Yasgnbangbscancatccasechfailcoactr\   complcoretr#   rg   diffdivdupefaileinitr&   eqvereterrorescanesuspfieldgotoinitintinterinvokekeywdlconcatlexeqlexgelexgtlexlelexltlexnelimitllistlsuspmarkmark0minusmodmultnegneqvnonnullnoopnullnumbernumeqnumgenumgtnumlenumltnumnepfailpluspnullr   powerpretr   psusppush1pushn1randomrasgnrcvrcvbkr  refreshrswapsdupsectsizesndsndbkstrsubscswaptabmattallytobytraceunmarkvaluevar)rB   r"   endcaseendeveryendif	endifelse	endrepeat
endsuspendenduntilendwhiler*   r,   ifelser2   r4   r7   r8   z\d+(\s*|\.$|$)z[+-]?\d*\.\d+(E[-+]?\d+)?z[+-]?\d+\.\d*(E[-+]?\d+)?z"(<>|=>|[()|:;,.'`]|[{}]|[%^]|[&?])z\s+\bz[\w-]+c                 t    d}d| v r|dz  }d| v r|dz  }d| v r|dz  }d| v r	d| v r|dz  }d	| v r	d
| v r|dz  }|S )z}endsuspend and endrepeat are unique to this language, and
        \self, /self doesn't seem to get used anywhere else either.r   r  g?r  z:=g{Gz?	procedurer&   z\selfz/selfg      ?r  )textresults     r  analyse_textzUcodeLexer.analyse_text  s     4cMF$cMF4<<dNF$5D==dNF
 tD 0 0cMFr  N)r  r  r  r  r   r  r  r  r  r  r  r
   r   r   r  r   r  r  r   r  r  r   r	   r  r  r  r  r  r   r   2  sZ        
 DiG'''IILE 	!U  U, , , ]	 U 1U, , ,  U  : ).e;= = =<  ="> U 
 %) ) ) ] /)6<8)6<82K@tCB
DFL    r  r   )r  r  pygments.lexerr   r   r   r   r   r   pygments.tokenr	   r
   r   r   r   r   r   r   __all__r   r   r   r  r  r  <module>r     s_    
			 L L L L L L L L L L L L L L L L                    5
4
4O O O O O* O O OdI I I I I
 I I IXi i i i i i i i i ir  