|e(dZddlmZmZmZmZddlmZmZm Z m Z m Z m Z m Z mZmZgdZGddeZGddeZGd d eZGd d eZGd deZGddeZy)z pygments.lexers.esoteric ~~~~~~~~~~~~~~~~~~~~~~~~ Lexers for esoteric languages. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. ) RegexLexerincludewordsbygroups) CommentOperatorKeywordNameStringNumber PunctuationError Whitespace)BrainfuckLexer BefungeLexer RedcodeLexer CAmkESLexer CapDLLexer AheuiLexerceZdZdZdZdZddgZddgZdgZd e jfd e jfd e jfd e fgd edfdefedgd edfdedfedgdZdZy)rz4 Lexer for the esoteric BrainFuck language. Brainfuckz'http://www.muppetlabs.com/~breadbox/bf/ brainfuckbfz*.bfz*.bzapplication/x-brainfuckz[.,]+z[+-]+z[<>]+z[^.,+\-<>\[\]]+z\[loopz\]commonz#pushz#pop)rrootrcd}d}tdt|}|d|D]!}|dk(s|dk(r|dz }|dk(s|dk(s|dz }#|d |zkDry |d |zkDry d}d |vr|d z }|S) z]It's safe to assume that a program which mostly consists of + - and < > is brainfuck.rN+-<>g?g?z[-]g?)maxlen)textplus_minus_countgreater_less_countrange_to_checkcresults :/usr/lib/python3/dist-packages/pygments/lexers/esoteric.py analyse_textzBrainfuckLexer.analyse_text2sS#d),o~& (ACx18 A% Cx18"a'"  ( tn4 5 !6 7 D= cMF N)__name__ __module__ __qualname____doc__nameurlaliases filenames mimetypesr TagBuiltinVariablerr rrtokensr-r.r,rrs D 3CD!GI*+I txx t|| $ t}} %  )  GV $ EN H  GW % GV $ H  F(r.rceZdZdZdZdZdgZdgZdgZdde fd e fd e jfd e jfd efd e jfdej"fdej$fdefdefdefdefg iZy)rzM Lexer for the esoteric Befunge language. .. versionadded:: 0.7 Befungez$http://en.wikipedia.org/wiki/Befungebefungez *.befungezapplication/x-befungerz[0-9a-f]z [+*/%!`-]z[<>^v?\[\]rxjk]z [:\\$.,n]z[|_mw]z[{}]z".*?"z\'.z[#;]z [pg&~=@iotsy]z[()A-Z]\s+N)r/r0r1r2r3r4r5r6r7r rr r:r9r r8r DoubleSinglerrr;r<r.r,rrLs D 0CkG I()I  & ! 8 $  / 4<< (  dhh  v}} % V]] # g  w '  ! Z   Fr.rceZdZdZdZdZddgZddgZdd ee e je fd e fd e fd e fd e fde feddefeddej fdej"feddej"fdee je e jfdee je e jfdej&fdefdej(fdefdej.fdefgiZy)rzj Basic lexer for the input language for the CAmkES component platform. .. versionadded:: 2.1 CAmkESzhttps://sel4.systems/CAmkES/camkesidl4z*.camkesz*.idl4r^(\s*)(#.*)(\n)r@/\*(.|\n)*?\*/z//.*$z [\[(){},.;\]]z[~!%^&*+=|?:<>/-])"assembly attribute component composition configuration connection connectorconsumescontroldataportDataport DataportsemitseventEventEventsexportfromgrouphardwarehas interface Interfacemaybe procedure Procedure Proceduresprovidestemplatethreadthreadstouseswith\bsuffix)boolbooleanBufchar characterdoublefloatininoutintint16_6int32_tint64_tint8_tintegermutexoutrealrefin semaphoresignedstringstructuint16_tuint32_tuint64_tuint8_t uintptr_tunsignedvoidz%[a-zA-Z_]\w*_(priority|domain|buffer))dma_pool from_access to_accessz#(import)(\s+)((?:<[^>]*>|"[^"]*");)z$(include)(\s+)((?:<[^>]*>|"[^"]*");)0[xX][\da-fA-F]+z-?[\d]+z-?[\d]+\.[\d]+z"[^"]*"z[Tt]rue|[Ff]alsez [a-zA-Z_]\w*N)r/r0r1r2r3r4r5r6rrrPreprocr rrr TypeReservedr HexFloatr r r9r;r<r.r,rrjsc D (C GX&I  *goo" Z  ( w  { + !8 , K !#* +(  ! #*,,  06w7G7G H ;E J   "4*gooF H5*gooF H!&** -   -  $,, /d #g4 6Fr.rc0eZdZdZdZdZdgZdgZddee e je fde fd e fd e fd e fd e fe d defe ddejfe ddej fdej$fdefe ddefe ddefdefgiZy)ra Basic lexer for CapDL. The source of the primary tool that reads such specifications is available at https://github.com/seL4/capdl/tree/master/capDL-tool. Note that this lexer only supports a subset of the grammar. For example, identifiers can shadow type names, but these instances are currently incorrectly highlighted as types. Supporting this would need a stateful lexer that is considered unnecessarily complex for now. .. versionadded:: 2.2 CapDLzMhttps://ssrg.nicta.com.au/publications/nictaabstracts/Kuz_KLW_10.abstract.pmlcapdlz*.cdlrrGr@rHz (//|--).*$z[<>\[(){},:;=\]]z\.\.)archarm11capschild_ofia32irqmapsobjectsrkrl)aep asid_poolcnodeepframe io_deviceio_portsio_pt notificationpdpttcbutvcpu)asidaddrbadgecacheddomdomainIDelffault_epGguard guard_sizeinitippriospRRGRXRWRWGRWXWWGWXlevelmasked master_replypaddrportsreplyuncachedrz\d+(\.\d+)?(k|M)?)bits)cspacevspace reply_slot caller_slotipc_buffer_slotz[a-zA-Z_][-@\.\w]*N)r/r0r1r2r3r4r5r6rrrrr rr rrr rr r;r<r.r,rrs  D YCiG I  W__jA CZ  ( G $ + . k " ',./6 8"*/129,, @ 2;@ A     !&** - !6 * 9U +V 4 '/467= ?#D )I% 'Fr.rc eZdZdZdZdgZdgZdZdZdde fd e jfd d jeze jfd d jeze jfd e fd efdefdefdej&fg iZy)rz A simple Redcode lexer based on ICWS'94. Contributed by Adam Blinkinsop . .. versionadded:: 0.8 Redcoderedcodez*.cw)DATMOVADDSUBMULDIVMODJMPJMZJMNDJNCMPSLTSPLORGEQUEND)ABABBAFXIrr@z;.*$z\b(%s)\b|z [A-Za-z_]\w+z[-+*/%]z[#$@<>]z[.,]z[-+]?\d+N)r/r0r1r2r3r5r6opcodes modifiersrrrBjoinr Function Decoratorrr r Integerr;r<r.r,rrs DkGI$G6I  Z gnn %388G, ,dmm < 388I. . ? d #  "  " k " &.. ) Fr.rc8eZdZdZdZdZdgZdgZddefde fgiZ y ) rz? Aheui is esoteric language based on Korean alphabets. Aheuizhttp://aheui.github.io/aheuiz*.aheuiru[나-낳냐-냫너-넣녀-녛노-놓뇨-눟뉴-닇다-닿댜-댷더-덯뎌-뎧도-돟됴-둫듀-딓따-땋땨-떃떠-떻뗘-뗳또-똫뚀-뚷뜌-띟라-랗랴-럏러-렇려-렿로-롷료-뤃류-릫마-맣먀-먛머-멓며-몋모-뫃묘-뭏뮤-믷바-밯뱌-뱧버-벟벼-볗보-봏뵤-붛뷰-빃빠-빻뺘-뺳뻐-뻫뼈-뼣뽀-뽛뾰-뿧쀼-삏사-샇샤-샿서-섷셔-셯소-솧쇼-숳슈-싛싸-쌓쌰-썋써-쎃쎠-쎻쏘-쏳쑈-쑿쓔-씧자-잫쟈-쟣저-젛져-졓조-좋죠-줗쥬-즿차-챃챠-챻처-첳쳐-쳫초-촣쵸-춯츄-칗카-캏캬-컇커-컿켜-켷코-콯쿄-쿻큐-킣타-탛탸-턓터-텋텨-톃토-톻툐-퉇튜-틯파-팧퍄-퍟퍼-펗펴-폏포-퐇표-풓퓨-픻하-핳햐-햫허-헣혀-혛호-홓효-훟휴-힇].N) r/r0r1r2r3r4r5r6rrr;r<r.r,rrsJ D #CiG I  ! "'N% Fr.rN)r2pygments.lexerrrrrpygments.tokenrrr r r r r rr__all__rrrrrrr<r.r,rsw@?### '6Z6r: