o aPH@sdZddlZddlmZmZmZmZmZmZddl m Z m Z m Z m Z mZmZmZmZgdZGdddeZGdd d eZGd d d eZdS) z pygments.lexers.unicon ~~~~~~~~~~~~~~~~~~~~~~ Lexers for the Icon and Unicon languages, including ucode VM. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. N) RegexLexerincludebygroupswordsusingthis)TextCommentOperatorKeywordNameStringNumber Punctuation) IconLexer UcodeLexer UniconLexerc@sleZdZdZdZdgZdgZdgZej Z de fde j fde fdejd fd eeje ejd fd ejfd ejfdejfdejfdejfdejfeddddejfeddddejfeddefdefdejfdefdefdeeeefdefdefde fgd ej fd!ej!fd"ej"fgd#ed$fd%ed&fd'ejfed(gd#ed)fgd*ed&fd+ej#fd,efd-ejfed(gd.Z$d/S)0rz< For Unicon source code. .. versionadded:: 2.4 Uniconuniconz*.icnz text/unicon[^\S\n]+#.*?\nclass|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|¤t|&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|®ions|&resize|&row|&rpress|&rrelease|&shift|&source|&storage|&subject|&time|&trace|&ucase|&version|&window|&x|&y(by|of|not|to)\bz (global|local|static|abstract)\bzpackage|link|import)breakcasecreatecriticaldefaultendalldoelseeveryfailifimportinitial initially invocablenextrepeatreturnsuspendthenthreaduntilwhile\bprefixsuffix(+AbortabsacosActiveAlertanyAnyArbArbnoargsarrayasinatanatanhAttribBalbalBgBreakBreakxcalloutcentercharchdirchmodchownchroot classnameClipCloneclosecofailcollectColor ColorValuecondvar constructorcopyCopyAreacosCouplecryptcsetctime dbcolumnsdbdriverdbkeysdblimits dbproductdbtablesdelaydeletedetabdisplayDrawArc DrawCircleDrawCube DrawCurve DrawCylinderDrawDisk DrawImageDrawLine DrawPoint DrawPolygon DrawRectangle DrawSegment DrawSphere DrawString DrawTorusdtorentab EraseArea errorclearEvent eventmaskEvGetEvSendexecexitexpEyeFailfcntlfdupFencefetchFg fieldnamesfilepairFillArc FillCircle FillPolygon FillRectanglefindflockflushFontfork FreeColor FreeSpacefunctiongetgetchgetchegetegidgetenvgeteuidgetgidgetgrgethostgetpgrpgetpidgetppidgetpw getrusagegetservGetSpace gettimeofdaygetuid globalnamesGotoRCGotoXYgtimehardlinkiandicomIdentityMatriximageInPortinsertInt86integerioctliorishiftistateixorkbhitkeykeywordkillleftLenlistloadloadfunc localnameslocklogLowerlstatmanymapmatch MatrixModemaxmember membernames methodnamesmethodsminmkdirmove MultMatrixmutexnameNewColorNormalsNotAnynumericopenopencloprecordOutPort PaletteChars PaletteColor PaletteKey paramnamesparentPatternPeekPendingpipePixel PlayAudioPokepop PopMatrixPosposprocpullpush PushMatrix PushRotate PushScale PushTranslateput QueryPointerRaiseread ReadImagereadlinkreadsreadyrealreceiveRefreshRemremoverenamereplreverserightrmdirRotateRposRtabrtodrunerrsaveScaleseekselectsendseqserialsetsetenvsetgidsetgrent sethostentsetpgrpsetpwent setserventsetuidsignalsinsortsortfSpanspawnsqlsqrtstat staticnamesstop StopAudiostring structureSucceedSwisymlink sys_errstrsystemsyswriteTabtabtabletanTexcoordTexture TextWidth TranslatetraptrimtruncatetrylocktypeumaskUncoupleunlockuptoutimevariableVAttribwaitWAttribWDefaultWFlushwhere WinAssociate WinButtonWinColorDialogWindowContents WinEditRegion WinFontDialog WinMenuBar WinOpenDialog WinPlayMedia WinSaveDialog WinScrollBarWinSelectDialogwrite WriteImagewritesWSectionWSyncnumberszc<@|<<@|>@|>>@|\.>|->|===|~===|\*\*|\+\+|--|\.|~==|~=|<=|>=|==|=|<<=|<<|>>=|>>|:=:|:=|->|<->|\+:=|\|"(?:[^\\"]|\\.)*"'(?:[^\\']|\\.)*'[*<>+=/&!?@~\\-]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;rr "[^"]+"|\w+rootrs\)\w+,(:string|:integer|:real)\brvrfrrrsN%__name__ __module__ __qualname____doc__raliases filenames mimetypesre MULTILINEflagsrr Singler DeclarationrTypePreProcConstantReservedrr Functionrr r CharacterrrrrHexFloatIntegerVariabletokensrr8/usr/lib/python3/dist-packages/pygments/lexers/unicon.pyrs   =>?l rc@sfeZdZdZdZdgZddgZgZej Z de fde j fde fdejd fd eeje ejd fd ejfd ejfdejfdejfdejfdejfeddddejfeddddejfeddefdefdejfdefdeeeefdefdefde fgdej fd ej!fd!ej"fgd"ed#fd$ed%fd&ejfed'gd"ed(fgd)ed%fd*ej#fd+efd,ejfed'gd-Z$d.S)/rz4 Lexer for Icon. .. versionadded:: 1.6 Iconiconz*.iconz*.ICONrrrrrrrrrrz(global|local|static)\blink)rr r!r#r$r%r&r'r(r)r*r,r.r/r0r1r2r3r5r6r7r8)r<r=r>r?r@rDrErFrGrHrIrKrLrOrPrQrRrSrTrUrWrXrYrZr[r\r]r^r`rarbrcrdrerfrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrr r'r(r)r*r+r-r.r/r0r1r2r4r5r7r8r9r:r;r=r>r?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfzS===|~===|\*\*|\+\+|--|\.|==|~==|<=|>=|=|~=|<<=|<<|>>=|>>|:=:|:=|<->|<-|\+:=|\|\||\|rgrhrirjrkz<>|=>|[()|:;,.'`{}%\^&?]rlrmrnrorprqrtrrrurvrsrwrxryrzr{Nr|rrrrrs   :;<h rc @seZdZdZdZdgZgdZgZej Z dde fe dddde jfe d ddde fe d dddejfe d ddde jfd ejfd ejfdejfdefdefdefg iZddZdS)rz@ Lexer for Icon ucode files. .. versionadded:: 2.4 ucode)z*.uz*.u1z*.u2rvz(#.*\n)) condeclendr$globalimplr.labrlocalrecorduidunionsversionr7r8)colmfilenlinesynt)YasgnbangbscancatccasechfailcoactrZcomplcoretr!rediffdivdupefaileinitr$eqvereterrorescanesuspfieldgotoinitintinterinvokekeywdlconcatlexeqlexgelexgtlexlelexltlexnelimitllistlsuspmarkmark0minusmodmultnegneqvnonnullnoopnullnumbernumeqnumgenumgtnumlenumltnumnepfailpluspnullrpowerpretrpsusppush1pushn1randomrasgnrcvrcvbkr refreshrswapsdupsectsizesndsndbkstrsubscswaptabmattallytobytraceunmarkvaluevar)r@r endcaseendeveryendif endifelse endrepeat endsuspendenduntilendwhiler(r*ifelser0r2r5r6z\d+(\s*|\.$|$)z[+-]?\d*\.\d+(E[-+]?\d+)?z[+-]?\d+\.\d*(E[-+]?\d+)?z"(<>|=>|[()|:;,.'`]|[{}]|[%^]|[&?])z\s+\bz[\w-]+cCshd}d|vr |d7}d|vr|d7}d|vr|d7}d|vr&d|vr&|d7}d |vr2d |vr2|d 7}|S) z}endsuspend and endrepeat are unique to this language, and \self, /self doesn't seem to get used anywhere else either.rrg?rz:=g{Gz? procedurer$z\selfz/selfg?r)textresultrrr analyse_textszUcodeLexer.analyse_textN)r}r~rrrrrrrrrr rr rr rrrrrrrrrrrrrr2sL      Fr)rrpygments.lexerrrrrrrpygments.tokenrr r r r r rr__all__rrrrrrrs (