o a"!@sndZddlmZmZmZddlmZmZmZm Z m Z m Z m Z m Z mZdgZGdddeZGdddeZdS) a pygments.lexers.slash ~~~~~~~~~~~~~~~~~~~~~ Lexer for the `Slash `_ programming language. :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. )ExtendedRegexLexerbygroupsDelegatingLexer) NameNumberStringComment PunctuationOtherKeywordOperator Whitespace SlashLexerc@s$eZdZdZddZddZdejedfdejedfd ejfd ejedfd e fgd e j ed fde edfde j dfd e fgde j edfde j edfde j edfde j edfde j edfde j edfgde j edfde j fde j dfd e j fgde j dfde j fde j dfggdejedfde edfde fde j ed fd!ejfd"ejfd#ejfd$ejfd%ejfd&eejfd'eejfd(eejfd)eejfd*eeeejfd+eefd,eefd-eeeejeeeejfd.eeeejfd/eefd0eefd1eefd2eefd3eefd4eefd5eefd6eefd7eefd8eefd9eefd:eefd;eefdeefd?eefd@eefdAeefdBeefdCeefd efdDefdEeejjfdFeejjfdGeejfdHeefdIeejjfdJeejjfdKefdLefdMefdNefdOefdPefdQefdRefdSefdTefdUefdVefdWefdXefdYefdZefd[efd\efd]efd^efd_efd`efdaefdbefdcefddefdeefdfefdgefdhefdiefdjefdkefdlefdmefdnefdoefdpefdqefdrefdsefdtefduefdvefdwefdxefdyefdzefd{efd|efdHejfd}Zd~S)SlashLanguageLexerz(?=[^a-zA-Z_0-9])cCsd|fS)N#pop) new_staterr7/usr/lib/python3/dist-packages/pygments/lexers/slash.py move_stateszSlashLanguageLexer.move_stateccsHt|jdkr|jddkr|j|tjdfV||_dS)Nstring})lenstackpopstartrInterpolendpos)lexermatchctxrrrright_angle_brackets   z&SlashLanguageLexer.right_angle_bracketz<%=slashz<%!!z<%#.*?%>z<%z.|\nz\\string_ez\"z#\{nrtrezx[a-fA-F0-9]{2}.z}[a-z]*z\\(.|\n){regexp_rrz%>rootz'[a-zA-Z0-9_]+z%r{regexpz /\*.*?\*/z (#|//).*?\nz-?[0-9]+e[+-]?[0-9]+z-?[0-9]+\.[0-9]+(e[+-]?[0-9]+)?z-?[0-9]+niltruefalseselfz"(class)(\s+)([A-Z][a-zA-Z0-9_\']*)classextendsz{(def)(\s+)(self)(\s*)(\.)(\s*)([a-z_][a-zA-Z0-9_\']*=?|<<|>>|==|<=>|<=|<|>=|>|\+|-(self)?|~(self)?|\*|/|%|^|&&|&|\||\[\]=?)zg(def)(\s+)([a-z_][a-zA-Z0-9_\']*=?|<<|>>|==|<=>|<=|<|>=|>|\+|-(self)?|~(self)?|\*|/|%|^|&&|&|\||\[\]=?)defifelsifelseunlessforinwhileuntilandornotlambdatrycatchreturnnextlastthrowuseswitchuλ__FILE____LINE__z[A-Z][a-zA-Z0-9_\']*z[a-z_][a-zA-Z0-9_\']*z@[a-z_][a-zA-Z0-9_\']*z@@[a-z_][a-zA-Z0-9_\']*z\(z\)z\[z\]z\{z\};,z<<=z>>=z<>z==z!=z=>=z<=>z<=z>=<>z\+\+z\+=z-=z\*\*=z\*=z\*\*z\*z/=z\+-/z%=%z^=z&&=z&=z&&&z\|\|=z\|=z\|\|z\|!z\.\.\.z\.\.z\.z:::z(\s|\n)+)r-rr%r.r,r$N) __name__ __module__ __qualname___nkwrr#rPreproc Multiliner rEscaperRegexSinglerFloatIntegerrBuiltinrr r Classr FunctionPseudoConstantVariableInstancer tokensrrrrrs                             ! " # $ % & ' ( ) *+,-. / 0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde rcs0eZdZdZdZdgZdgZfddZZS)rzN Lexer for the Slash programming language. .. versionadded:: 2.4 Slashr$z*.slac s&ddlm}tj|tfi|dS)Nr) HtmlLexer)pygments.lexers.webrksuper__init__r)r2optionsrk __class__rrrns zSlashLexer.__init__) rWrXrY__doc__namealiases filenamesrn __classcell__rrrprrs N)rrpygments.lexerrrrpygments.tokenrrrrr r r r r __all__rrrrrrs ,