Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/__pycache__/jvm.cpython-37.pyc

B

̽�\O�@s�dZddlZddlmZmZmZmZmZmZm	Z	m
Z
mZddlm
Z
mZmZmZmZmZmZmZddlmZddlmZddd	d
ddd
dddddddddgZGdd�de�ZGdd�de�ZGdd�de�ZGdd	�d	e�ZGdd
�d
e�ZGdd�de�Z Gdd�de�Z!Gdd
�d
e�Z"Gdd�de"�Z#Gd d!�d!e�Z$Gd"d�de�Z%Gd#d�de�Z&Gd$d�de�Z'Gd%d�de�Z(Gd&d�de�Z)Gd'd�de�Z*Gd(d�de�Z+dS))z�
    pygments.lexers.jvm
    ~~~~~~~~~~~~~~~~~~~

    Pygments lexers for JVM languages.

    :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)	�Lexer�
RegexLexer�include�bygroups�using�this�combined�default�words)�Text�Comment�Operator�Keyword�Name�String�Number�Punctuation)�shebang_matches)�	unistring�	JavaLexer�
ScalaLexer�	GosuLexer�GosuTemplateLexer�GroovyLexer�	IokeLexer�ClojureLexer�ClojureScriptLexer�KotlinLexer�
XtendLexer�AspectJLexer�CeylonLexer�PigLexer�	GoloLexer�JasminLexer�	SarlLexerc@s8eZdZdZdZdgZdgZdgZej	ej
BejBZde
fdejfdejfd	efd
eee�eje
e�fdejfdejfd
ejfdeeje
�dfdejfdeeje
�dfdeeje
�dfdefdejfdeeej�fdej fdefde!j"fde!j#fde!j$fde!j%fde!j&fdefde
fgdej'd fgd!ejd fgd"�Z(d#S)$rz=
    For `Java <http://www.sun.com/java/>`_ source code.
    �Java�javaz*.javaztext/x-javaz[^\S\n]+z//.*?\nz	/\*.*?\*/zz(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while)\bzE((?:(?:[^\W\d]|\$)[\w.\[\]$<>]*\s+)+?)((?:[^\W\d]|\$)[\w$]*)(\s*)(\()z@[^\W\d][\w.]*z�(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\bz6(boolean|byte|char|double|float|int|long|short|void)\bz(package)(\s+)�importz(true|false|null)\bz(class|interface)(\s+)�classz(import(?:\s+static)?)(\s+)z"(\\\\|\\"|[^"])*"z!'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'z(\.)((?:[^\W\d]|\$)[\w$]*)z^\s*([^\W\d]|\$)[\w$]*:z([^\W\d]|\$)[\w$]*a([0-9][0-9_]*\.([0-9][0-9_]*)?|\.[0-9][0-9_]*)([eE][+\-]?[0-9][0-9_]*)?[fFdD]?|[0-9][eE][+\-]?[0-9][0-9_]*[fFdD]?|[0-9]([eE][+\-]?[0-9][0-9_]*)?[fFdD]|0[xX]([0-9a-fA-F][0-9a-fA-F_]*\.?|([0-9a-fA-F][0-9a-fA-F_]*)?\.[0-9a-fA-F][0-9a-fA-F_]*)[pP][+\-]?[0-9][0-9_]*[fFdD]?z"0[xX][0-9a-fA-F][0-9a-fA-F_]*[lL]?z0[bB][01][01_]*[lL]?z
0[0-7_]+[lL]?z0|[1-9][0-9_]*[lL]?z[~^*!%&\[\](){}<>|+=:;,./?-]z\nz#popz	[\w.]+\*?)�rootr(r'N))�__name__�
__module__�__qualname__�__doc__�name�aliases�	filenames�	mimetypes�re�	MULTILINE�DOTALL�UNICODE�flagsrr�Single�	Multilinerrrrr�Functionr
�	Decorator�Declaration�Type�	Namespace�Constantr�Char�	Attribute�Labelr�Float�Hex�Bin�Oct�Integer�Class�tokens�rIrI�D/opt/alt/python37/lib/python3.7/site-packages/pygments/lexers/jvm.pyrsNc@sFeZdZdZdZdgZdgZdgZed�Z	ed�Z
ed�Zd	d
�ZdS)rzb
    For `AspectJ <http://www.eclipse.org/aspectj/>`_ source code.

    .. versionadded:: 1.6
    ZAspectJZaspectjz*.ajztext/x-aspectj)+ZaspectZpointcutZ
privileged�callZ	executionZinitializationZpreinitialization�handler�get�setZstaticinitialization�target�argsZwithinZ
withincodeZcflowZ
cflowbelow�
annotation�before�afterZaroundZproceedZthrowingZ	returningZadviceexecution�declare�parentsZwarning�errorZsoft�
precedenceZ
thisJoinPointZthisJoinPointStaticPartZ thisEnclosingJoinPointStaticPartZissingletonZperthisZ	pertargetZpercflowZ
percflowbelowZ
pertypewithin�lockZunlockZthisAspectInstance)zparents:zwarning:zerror:zsoft:zprecedence:)z@typez@methodz@constructorz@fieldccs�x�t�||�D]�\}}}|tkr8||jkr8|t|fVq|tjkrr||jkrr|t|dd�fV|t|dfVq|tjkr�||j	kr�|t|fVq|||fVqWdS)N���)
r�get_tokens_unprocessedr�aj_keywordsrrA�
aj_inter_typer
r:�aj_inter_type_annotation)�self�text�index�token�valuerIrIrJrZysz#AspectJLexer.get_tokens_unprocessedN)
r*r+r,r-r.r/r0r1rNr[r\r]rZrIrIrIrJr_s
c@s�eZdZdZdZdgZdgZdgZej	ej
BZdZdZ
dZd	e
e
efZd
e
e
fZdeee�dfd
efdejfdejdfdeejfdefdeedfdeefejfdejfdeee�dfdeee�dfdefdefdejfdeejfdedfd ed!fd"efeefd#efd$ed%fd&efeefd'ej fd(ej!fd)ej"fd*efgd+eefeejee�d%fd,efd-ed.fd/ed.fdejd.fd0eefejd.fgd,efd1efd2eee�d.fd3ed4fd5eeeefeej#ee�d6fd7eeeefeej#e�d.fdejd.fd8eefej#fgd9efd:efd;ed.fd<ed4fd8eefej#fgd=ejfdejd4fd>ejd.fd?ejfgd@eej$d.fgdAefdBefdCeej%fdDej%dEfdFefgdGed.fdHefe&dI�gdHed.fe&dI�gdJej%d.fd-ej%d4fe&dK�gdL�
Z'dMS)Nrz?
    For `Scala <http://www.scala-lang.org>`_ source code.
    ZScalaZscalaz*.scalaztext/x-scalau[-~\^\*!%&\\<>\|+=:/?@¦-§©¬®°-±¶×÷϶҂؆-؈؎-؏۩۽-۾߶৺୰௳-௸௺౿ೱ-ೲ൹༁-༃༓-༗༚-༟༴༶༸྾-࿅࿇-࿏႞-႟፠᎐-᎙᥀᧠-᧿᭡-᭪᭴-᭼⁄⁒⁺-⁼₊-₌℀-℁℃-℆℈-℉℔№-℘℞-℣℥℧℩℮℺-℻⅀-⅄⅊-⅍⅏←-⌨⌫-⑊⒜-ⓩ─-❧➔-⟄⟇-⟥⟰-⦂⦙-⧗⧜-⧻⧾-⭔⳥-⳪⺀-⿻〄〒-〓〠〶-〷〾-〿㆐-㆑㆖-㆟㇀-㇣㈀-㈞㈪-㉐㉠-㉿㊊-㊰㋀-㏿䷀-䷿꒐-꓆꠨-꠫﬩﷽﹢﹤-﹦+<->|~¬¦│-○-�]+u[a-zA-Z\$_ªµºÀ-ÖØ-öø-ʯͰ-ͳͶ-ͷͻ-ͽΆΈ-ϵϷ-ҁҊ-Ֆա-ևא-ײء-ؿف-يٮ-ٯٱ-ۓەۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪऄ-हऽॐक़-ॡॲ-ॿঅ-হঽৎড়-ৡৰ-ৱਅ-ਹਖ਼-ਫ਼ੲ-ੴઅ-હઽૐ-ૡଅ-ହଽଡ଼-ୡୱஃ-ஹௐఅ-ఽౘ-ౡಅ-ಹಽೞ-ೡഅ-ഽൠ-ൡൺ-ൿඅ-ෆก-ะา-ำเ-ๅກ-ະາ-ຳຽ-ໄໜ-ༀཀ-ཬྈ-ྋက-ဪဿၐ-ၕၚ-ၝၡၥ-ၦၮ-ၰၵ-ႁႎႠ-ჺᄀ-ፚᎀ-ᎏᎠ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᛮ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝰក-ឳៜᠠ-ᡂᡄ-ᢨᢪ-ᤜᥐ-ᦩᧁ-ᧇᨀ-ᨖᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮ-ᮯᰀ-ᰣᱍ-ᱏᱚ-ᱷᴀ-ᴫᵢ-ᵷᵹ-ᶚḀ-ᾼιῂ-ῌῐ-Ίῠ-Ῥῲ-ῼⁱⁿℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⱼⲀ-ⳤⴀ-ⵥⶀ-ⷞ〆-〇〡-〩〸-〺〼ぁ-ゖゟァ-ヺヿ-ㆎㆠ-ㆷㇰ-ㇿ㐀-䶵一-ꀔꀖ-ꒌꔀ-ꘋꘐ-ꘟꘪ-ꙮꚀ-ꚗꜢ-ꝯꝱ-ꞇꞋ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꤊ-ꤥꤰ-ꥆꨀ-ꨨꩀ-ꩂꩄ-ꩋ가-힣豈-יִײַ-ﬨשׁ-ﴽﵐ-ﷻﹰ-ﻼA-Za-zヲ-ッア-ンᅠ-ᅵ]u)[A-Z\$_À-ÖØ-ÞĀĂĄĆĈĊČĎĐĒĔĖĘĚĜĞĠĢĤĦĨĪĬĮİIJĴĶĹĻĽĿŁŃŅŇŊŌŎŐŒŔŖŘŚŜŞŠŢŤŦŨŪŬŮŰŲŴŶŸ-ŹŻŽƁ-ƂƄƆ-ƇƉ-ƋƎ-ƑƓ-ƔƖ-ƘƜ-ƝƟ-ƠƢƤƦ-ƧƩƬƮ-ƯƱ-ƳƵƷ-ƸƼDŽLJNJǍǏǑǓǕǗǙǛǞǠǢǤǦǨǪǬǮDZǴǶ-ǸǺǼǾȀȂȄȆȈȊȌȎȐȒȔȖȘȚȜȞȠȢȤȦȨȪȬȮȰȲȺ-ȻȽ-ȾɁɃ-ɆɈɊɌɎͰͲͶΆΈ-ΏΑ-ΫϏϒ-ϔϘϚϜϞϠϢϤϦϨϪϬϮϴϷϹ-ϺϽ-ЯѠѢѤѦѨѪѬѮѰѲѴѶѸѺѼѾҀҊҌҎҐҒҔҖҘҚҜҞҠҢҤҦҨҪҬҮҰҲҴҶҸҺҼҾӀ-ӁӃӅӇӉӋӍӐӒӔӖӘӚӜӞӠӢӤӦӨӪӬӮӰӲӴӶӸӺӼӾԀԂԄԆԈԊԌԎԐԒԔԖԘԚԜԞԠԢԱ-ՖႠ-ჅḀḂḄḆḈḊḌḎḐḒḔḖḘḚḜḞḠḢḤḦḨḪḬḮḰḲḴḶḸḺḼḾṀṂṄṆṈṊṌṎṐṒṔṖṘṚṜṞṠṢṤṦṨṪṬṮṰṲṴṶṸṺṼṾẀẂẄẆẈẊẌẎẐẒẔẞẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼẾỀỂỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪỬỮỰỲỴỶỸỺỼỾἈ-ἏἘ-ἝἨ-ἯἸ-ἿὈ-ὍὙ-ὟὨ-ὯᾸ-ΆῈ-ΉῘ-ΊῨ-ῬῸ-Ώℂℇℋ-ℍℐ-ℒℕℙ-ℝℤΩℨK-ℭℰ-ℳℾ-ℿⅅↃⰀ-ⰮⱠⱢ-ⱤⱧⱩⱫⱭ-ⱯⱲⱵⲀⲂⲄⲆⲈⲊⲌⲎⲐⲒⲔⲖⲘⲚⲜⲞⲠⲢⲤⲦⲨⲪⲬⲮⲰⲲⲴⲶⲸⲺⲼⲾⳀⳂⳄⳆⳈⳊⳌⳎⳐⳒⳔⳖⳘⳚⳜⳞⳠⳢꙀꙂꙄꙆꙈꙊꙌꙎꙐꙒꙔꙖꙘꙚꙜꙞꙢꙤꙦꙨꙪꙬꚀꚂꚄꚆꚈꚊꚌꚎꚐꚒꚔꚖꜢꜤꜦꜨꜪꜬꜮꜲꜴꜶꜸꜺꜼꜾꝀꝂꝄꝆꝈꝊꝌꝎꝐꝒꝔꝖꝘꝚꝜꝞꝠꝢꝤꝦꝨꝪꝬꝮꝹꝻꝽ-ꝾꞀꞂꞄꞆꞋA-Z]z%s(?:%s|[0-9])*(?:(?<=_)%s)?z%s(?:%s|\d)*z(class|trait|object)(\s+)r(z[^\S\n]+z//.*?\nz/\*�commentz@%su(abstract|ca(?:se|tch)|d(?:ef|o)|e(?:lse|xtends)|f(?:inal(?:ly)?|or(?:Some)?)|i(?:f|mplicit)|lazy|match|new|override|pr(?:ivate|otected)|re(?:quires|turn)|s(?:ealed|uper)|t(?:h(?:is|row)|ry)|va[lr]|w(?:hile|ith)|yield)\b|(<[%:-]|=>|>:|[#=@_⇒←])(\b|(?=\s)|$)z:(?!%s)�typez%s%s\bz(true|false|null)\bz(import|package)(\s+)r'z(type)(\s+)z""".*?"""(?!")z"(\\\\|\\"|[^"])*"z!'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'z'%sz[fs]"""�interptriplestringz[fs]"�interpstringzraw"(\\\\|\\"|[^"])*"z`[^`]+`z\[�	typeparamz
[(){};,.#]z7([0-9][0-9]*\.[0-9]*|\.[0-9]+)([eE][+-]?[0-9]+)?[fFdD]?z0x[0-9a-fA-F]+z[0-9]+L?z\nz(%s|%s|`[^`]+`)(\s*)(\[)z\s+z\{z#popz\(z
%s|%s|`[^`]+`z<[%:]|>:|[#_]|forSome|typeu([,);}]|=>|=|⇒)(\s*)z[({]z#pushz4((?:%s|%s|`[^`]+`)(?:\.(?:%s|%s|`[^`]+`))*)(\s*)(\[))z#poprgz1((?:%s|%s|`[^`]+`)(?:\.(?:%s|%s|`[^`]+`))*)(\s*)$z\.|%s|%s|`[^`]+`z[\s,]+u <[%:]|=>|>:|[#_⇒]|forSome|typez([\])}])z[(\[{]z[^/*]+z\*/z[*/]z(%s|\.)+z[^"$\\]+z\$\$z\$z\$\{�interpbracez\\.z"""(?!")�"�interpstringcommonz\}r))
r)r(rdrgrcr'rjrerfrhN)(r*r+r,r-r.r/r0r1r2r3r4r6�op�letter�upperZidrestZletter_letter_digitrrrrr7r8rr:rGr>rr?�Symbolr
rrBrCrFr<r=�InterpolrrHrIrIrIrJr�s�">









c@s�eZdZdZdZdgZddddgZdgZej	ej
BZd	ee
e�ejee�fd
efdejfdejfd
ejfdefdejfdejfdejfdeeje�fdejfdeejeej�fdeejeej�fdedfdeeej�fdeeej�fdefdefdej fdej!fdefgdefd eeej�d!fd"ejfd#ed!fd$ed%fd&efgded'fe"d(�gdedfd)ed'fe"d*�gdedfd+ed%fd,ed'fe"d*�gd-�Z#d.S)/rz:
    For Gosu source code.

    .. versionadded:: 1.5
    ZGosuZgosuz*.gsz*.gsxz*.gspz*.varkztext/x-gosuz9^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()z[^\S\n]+z//.*?\nz	/\*.*?\*/z@[a-zA-Z_][\w.]*z�(in|as|typeof|statictypeof|typeis|typeas|if|else|foreach|for|index|while|do|continue|break|return|try|catch|finally|this|throw|new|switch|case|default|eval|super|outer|classpath|using)\bz�(var|delegate|construct|function|private|internal|protected|public|abstract|override|final|static|extends|transient|implements|represents|readonly)\bz(property\s+)(get|set)?z<(boolean|byte|char|double|float|int|long|short|void|block)\bz(package)(\s+)z (true|false|null|NaN|Infinity)\bz5(class|interface|enhancement|enum)(\s+)([a-zA-Z_]\w*)z(uses)(\s+)([\w.]+\*?)ri�stringz(\??[.#])([a-zA-Z_]\w*)z(:)([a-zA-Z_]\w*)z
[a-zA-Z_$]\w*z)and|or|not|[\\~^*!%&\[\](){}<>|+=:;,./?-]z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z[0-9]+z\nz(\\<)|(\\\$)z(<%@\s+)(extends|params)�stringTemplatez<%!--.*?--%>z
(<%)|(<%=)z\$\{�stringTemplateShorthand�.z#pop�templateTextz%>r)z\{z\})r)rtrprqrrN)$r*r+r,r-r.r/r0r1r2r3r4r6rrrrr9rr
rr7r8r:rr;r<r=r>rGrr@rrBrFrrHrIrIrIrJrlsfc@s.eZdZdZdZdgZdgZdgZdd�ZdS)	rz8
    For Gosu templates.

    .. versionadded:: 1.5
    z
Gosu TemplateZgstz*.gstztext/x-gosu-templateccs,t�}dg}x|�||�D]
}|VqWdS)Nrt)rrZ)r^r_Zlexer�stack�itemrIrIrJrZ�sz(GosuTemplateLexer.get_tokens_unprocessedN)	r*r+r,r-r.r/r0r1rZrIrIrIrJr�sc@sbeZdZdZdZdgZddgZdgZej	ej
BZdej
dfed�gd	eee�ejee�fd
efdejfdejfd
ejfdefdejfdejfdeeje�fdejfdeeje�dfdeeje�dfdejfdejfdejfdejfdefdefdej fdeeej!�fdej"fd efd!efd"e#j$fd#e#j%fd$e#j&fd%efgd&ej'd'fgd(ejd'fgd)�Z(d*d+�Z)d,S)-rz]
    For `Groovy <http://groovy.codehaus.org/>`_ source code.

    .. versionadded:: 1.5
    ZGroovy�groovyz*.groovyz*.gradlez
text/x-groovyz#!(.*?)$�basez9^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()z[^\S\n]+z//.*?\nz	/\*.*?\*/z@[a-zA-Z_][\w.]*z�(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|in|as)\bz�(abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\bz:(def|boolean|byte|char|double|float|int|long|short|void)\bz(package)(\s+)z(true|false|null)\bz(class|interface)(\s+)r(z
(import)(\s+)r'z	""".*?"""z	'''.*?'''z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z\$/((?!/\$).)*/\$z/(\\\\|\\"|[^/])*/z!'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'z(\.)([a-zA-Z_]\w*)z
[a-zA-Z_]\w*:z
[a-zA-Z_$]\w*z[~^*!%&\[\](){}<>|+=:;,./?-]z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+L?z\nz[a-zA-Z_]\w*z#popz	[\w.]+\*?)r)rxr(r'cCs
t|d�S)Nrw)r)r_rIrIrJ�analyse_textszGroovyLexer.analyse_textN)*r*r+r,r-r.r/r0r1r2r3r4r6rZPreprocr	rrrrr9rr
r7r8r:rr;r<r=r>r�Doubler?r@rArrBrCrFrGrHryrIrIrIrJr�sV
c/@s�eZdZdZdZdgZddgZdgZdej	fde
d	fgd
edfed�d
efgd
ejdfed�d
ejfgde
dfed�gdej
dfed�dej
fdej
fgdej
dfed�dej
fdej
fgdedfed�defgdefdefdefdefdej
dfdej
dfdejfd ejfd!ejfd"ejd#fd$ed%fd&ed'fd(ejfd)ejfd*ejfd+efd,efd-efd.ejfd/ejfd0efd1ejfd2efd3ejfd4efd5ejfd6ejfd7ejfd8ejfd9ejfd:ejfd;ejfd<ejfd=e
fd>efd?efd@e
fdAejfdBefg'dC�Z dDS)Erz�
    For `Ioke <http://ioke.org/>`_ (a strongly typed, dynamic,
    prototype based programming language) source.

    .. versionadded:: 1.4
    ZIokez*.ikZiokeZikztext/x-iokesrczS(\\b|\\e|\\t|\\n|\\f|\\r|\\"|\\\\|\\#|\\\Z|\\u[0-9a-fA-F]{1,4}|\\[0-3]?[0-7]?[0-7])z#\{�textInterpolationRootz(?<!\\)"z#pop�interpolatableTextz[^"]z\}r)z(?<!\\)/[im-psux]*z\\/z[^/]z(?<!\\)][im-psux]*z\\]z[^\]]z(?<!\\)]z\nz\s+z;(.*?)\nz\A#!(.*?)\nz#/�slashRegexpz#r\[�squareRegexpz	:[\w!:?]+z[\w!:?]+:(?![\w!?])z:"(\\\\|\\"|[^"])*"z�((?<=fn\()|(?<=fnx\()|(?<=method\()|(?<=macro\()|(?<=lecro\()|(?<=syntax\()|(?<=dmacro\()|(?<=dlecro\()|(?<=dlecrox\()|(?<=dsyntax\())\s*"�
documentationrir_z#\[�
squareTextz\w[\w!:?]+(?=\s*=.*mimic\s)z.[a-zA-Z_][\w!:?]*(?=[\s]*[+*/-]?=[^=].*($|\.))z�(break|cond|continue|do|ensure|for|for:dict|for:set|if|let|loop|p:for|p:for:dict|p:for:set|return|unless|until|while|with)(?![\w!:?])z%(eval|mimic|print|println)(?![\w!:?])z|(cell\?|cellNames|cellOwner\?|cellOwner|cells|cell|documentation|hash|identity|mimic|removeCell\!|undefineCell\!)(?![\w!:?])z(stackTraceAsText)(?![\w!:?])z"(dict|list|message|set)(?![\w!:?])z`(case|case:and|case:else|case:nand|case:nor|case:not|case:or|case:otherwise|case:xor)(?![\w!:?])z�(asText|become\!|derive|freeze\!|frozen\?|in\?|is\?|kind\?|mimic\!|mimics|mimics\?|prependMimic\!|removeAllMimics\!|removeMimic\!|same\?|send|thaw\!|uniqueHexId)(?![\w!:?])z (after|around|before)(?![\w!:?])zG(kind|cellDescriptionDict|cellSummary|genSym|inspect|notice)(?![\w!:?])z(use|destructuring)zn(cell\?|cellOwner\?|cellOwner|cellNames|cells|cell|documentation|identity|removeCell!|undefineCell)(?![\w!:?])z�(internal:compositeRegexp|internal:concatenateText|internal:createDecimal|internal:createNumber|internal:createRegexp|internal:createText)(?![\w!:?])zk(availableRestarts|bind|error\!|findRestart|handle|invokeRestart|rescue|restart|signal\!|warn\!)(?![\w!:?])z(nil|false|true)(?![\w!:?])a
(Arity|Base|Call|Condition|DateTime|Aspects|Pointcut|Assignment|BaseBehavior|Boolean|Case|AndCombiner|Else|NAndCombiner|NOrCombiner|NotCombiner|OrCombiner|XOrCombiner|Conditions|Definitions|FlowControl|Internal|Literals|Reflection|DefaultMacro|DefaultMethod|DefaultSyntax|Dict|FileSystem|Ground|Handler|Hook|IO|IokeGround|Struct|LexicalBlock|LexicalMacro|List|Message|Method|Mixins|NativeMethod|Number|Origin|Pair|Range|Reflector|Regexp Match|Regexp|Rescue|Restart|Runtime|Sequence|Set|Symbol|System|Text|Tuple)(?![\w!:?])uw(generateMatchMethod|aliasMethod|λ|ʎ|fnx|fn|method|dmacro|dlecro|syntax|macro|dlecrox|lecrox|lecro|syntax)(?![\w!:?])z-?0[xX][0-9a-fA-F]+z(-?(\d+\.?\d*|\d*\.\d+)([eE][+-]?[0-9]+)?z-?\d+z#\(ux(&&>>|\|\|>>|\*\*>>|:::|::|\.\.\.|===|\*\*>|\*\*=|&&>|&&=|\|\|>|\|\|=|\->>|\+>>|!>>|<>>>|<>>|&>>|%>>|#>>|@>>|/>>|\*>>|\?>>|\|>>|\^>>|~>>|\$>>|=>>|<<=|>>=|<=>|<\->|=~|!~|=>|\+\+|\-\-|<=|>=|==|!=|&&|\.\.|\+=|\-=|\*=|\/=|%=|&=|\^=|\|=|<\-|\+>|!>|<>|&>|%>|#>|\@>|\/>|\*>|\?>|\|>|\^>|~>|\$>|<\->|\->|<<|>>|\*\*|\?\||\?&|\|\||>|<|\*|\/|%|\+|\-|&|\^|\||=|\$|!|~|\?|#|≠|∘|∈|∉)z-(and|nand|or|xor|nor|return|import)(?![\w!?])z.(\`\`|\`|\'\'|\'|\.|\,|@@|@|\[|\]|\(|\)|\{|\})z
[A-Z][\w!:?]*z[a-z_][\w!:?]*)r|r_rr{r}r~r�r)N)!r*r+r,r-r.r0r/r1r�Escaperr�Doc�Regexrrrn�OtherrZEntity�Variabler�Reservedr>�Builtinr9rrCrBrFr
rGrHrIrIrIrJrs�








	c@s�eZdZdZdZddgZdgZddgZdZd	Z	d
Z
dZdd
ej
fdefdejfdejfdejfdefdeejfdejfdeejfdefeedd�efee	dd�ejfee
dd�ejfdeejfeejfdefdefdefgiZdS)rz]
    Lexer for `Clojure <http://clojure.org/>`_ source code.

    .. versionadded:: 0.11
    ZClojureZclojureZcljz*.cljztext/x-clojurezapplication/x-clojure)
rs�defZdo�fn�ifZlet�new�quote�var�loop)zdef-�defnzdefn-ZdefmacroZdefmultiZ	defmethodZ	defstructZdefoncerTZ	definlineZdefinterfaceZdefprotocolZ	defrecordZdeftypeZ
defproject�ns(-�*�+�-z->�/�<z<=�=z==�>z>=z..ZaccessorZagentzagent-errorsZagetZalengthzall-nsZalter�andzappend-childZapplyz	array-mapZasetzaset-booleanz	aset-bytez	aset-charzaset-doublez
aset-floatzaset-intz	aset-longz
aset-short�assertZassoc�awaitz	await-forZbeanZbindingzbit-andzbit-notzbit-orzbit-shift-leftzbit-shift-rightzbit-xorZbooleanzbranch?ZbutlastZbyte�cast�char�childrenr(zclear-agent-errorsrcZcommute�compZ
comparatorZ
complement�concatZconjZconsZ
constantlyZcondzif-notzconstruct-proxyz	contains?�countz	create-nsz
create-struct�cycle�decZderef�
differenceZdisjZdissocZdistinctZdoall�docZdorun�doseqZdosyncZdotimesZdotoZdoubleZdownZdropz
drop-whileZeditzend?Zensure�evalzevery?zfalse?Zffirstzfile-seq�filter�findzfind-doczfind-nszfind-var�first�float�flush�forZfnseqZfrestZgensymzget-proxy-classrMzhash-mapzhash-setz
identical?Zidentityzif-letr'zin-nsZincr`zinsert-childzinsert-leftzinsert-rightz
inspect-tablezinspect-treez	instance?�intZ
interleave�intersectionZintoz
into-arrayZiterate�join�key�keys�keywordzkeyword?�lastzlazy-catz	lazy-cons�leftZleftszline-seqzlist*�list�loadz	load-fileZlocking�longr�Zmacroexpandz
macroexpand-1z
make-arrayz	make-node�mapz
map-invertzmap?Zmapcat�maxzmax-keyZmemfn�mergez
merge-with�meta�minzmin-keyr.�	namespacezneg?r��newline�nextznil?�node�notznot-any?z
not-every?znot=z
ns-importsz
ns-internszns-mapzns-namez
ns-publicsz	ns-refersz
ns-resolvezns-unmapZnthZnthrest�or�parse�partial�path�peek�popzpos?Zprzpr-str�printz	print-strZprintlnzprintln-strZprnzprn-str�project�proxyzproxy-mappingsZquotZrandzrand-int�rangezre-findz	re-groupsz
re-matcherz
re-matchesz
re-patternzre-seq�readz	read-line�reduce�refzref-setZrefer�rem�removez
remove-methodz	remove-ns�renamezrename-keys�repeat�replaceZ	replicate�resolve�restz
resultset-seq�reverseZrfirst�rightZrightsr)ZrrestZrseq�second�selectzselect-keys�sendzsend-off�seqzseq-zipzseq?rN�shortZslurpZsome�sortzsort-byz
sorted-mapz
sorted-map-byz
sorted-setzspecial-symbol?zsplit-atz
split-with�strzstring?�structz
struct-mapZsubsZsubvec�symbolzsymbol?�syncZtakeztake-nthz
take-while�test�timezto-arrayzto-array-2dztree-seqztrue?�unionZupzupdate-proxy�val�valszvar-getzvar-setzvar?Zvectorz
vector-zipzvector?Zwhenz
when-firstzwhen-letzwhen-notzwith-local-varsz	with-metaz	with-openzwith-out-strzxml-seqzxml-zipzzero?ZzipmapZzipperz(?!#)[\w!$%*+<=>?/.#|-]+r)z;.*$z[,\s]+z
-?\d+\.\d+z-?\d+z0x-?[abcdef\d]+z"(\\\\|\\"|[^"])*"�'z\\(.|[a-z]+)z::?#?z
~@|[`\'#^~&@]� )�suffixz(?<=\()z(\[|\])z(\{|\})z(\(|\))N) r*r+r,r-r.r/r0r1Z
special_formsZdeclarations�builtinsZ
valid_namerr7rrrBrFrCrrnr?r
r
rr;rr�r9r�rrHrIrIrIrJr�s88c@s*eZdZdZdZddgZdgZddgZdS)	rzs
    Lexer for `ClojureScript <http://clojure.org/clojurescript>`_
    source code.

    .. versionadded:: 2.0
    Z
ClojureScriptZ
clojurescriptZcljsz*.cljsztext/x-clojurescriptzapplication/x-clojurescriptN)r*r+r,r-r.r/r0r1rIrIrIrJr^s
c@s�eZdZdZejejBZdee	e
�eje
e�fde
fdejfdejfdejfdefdejfd	ejfd
eeje
�dfdeeje
�d
fdefdefdeeej�fdejfdefdefdejfdejfdejfde
fgdejdfgdejdfgd�ZdS)�TeaLangLexerz|
    For `Tea <http://teatrove.org/>`_ source code. Only used within a
    TeaTemplateLexer.

    .. versionadded:: 1.5
    z:^(\s*(?:[a-zA-Z_][\w\.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()z[^\S\n]+z//.*?\nz	/\*.*?\*/z@[a-zA-Z_][\w\.]*z/(and|break|else|foreach|if|in|not|or|reverse)\bz(as|call|define)\bz(true|false|null)\bz(template)(\s+)�templatez
(import)(\s+)r'z"(\\\\|\\"|[^"])*"z\'(\\\\|\\\'|[^\'])*\'z(\.)([a-zA-Z_]\w*)z
[a-zA-Z_]\w*:z[a-zA-Z_\$]\w*z3(isa|[.]{3}|[.]{2}|[=#!<>+-/%&;,.\*\\\(\)\[\]\{\}])z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+L?z\nz[a-zA-Z_]\w*z#popz	[\w.]+\*?)r)r�r'N) r*r+r,r-r2r3r4r6rrrrr9rr
rr7r8r:rr;r>r=rr@rArrBrCrFrGrHrIrIrIrJr�ks4r�c@s�eZdZdZdZdgZdgZdgZej	ej
BZdZde
ee�ejee�fdefd	ejfd
ejdfdejfd
efdejfdejfde
eje�fdejfde
eje�dfde
eje�dfdefdejfdejfde
eej �fdej!fdefdefde"j#fde"j#fde"j#fd e"j#fd!e"j$fd"e"j$fd#e"j%fd$e"j%fd%e"j&fd&e"j&fd'efgd(ej'd)fgd*ejd)fgd+ejfd
ejd,fd-ejd)fd.ejfgd/�Z(d0S)1r zY
    For `Ceylon <http://ceylon-lang.org/>`_ source code.

    .. versionadded:: 1.6
    ZCeylonZceylonz*.ceylonz
text/x-ceylonz(?:\s|//.*?\n|/[*].*?[*]/)+z9^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_]\w*)(\s*)(\()z[^\S\n]+z//.*?\nz/\*rcz�(shared|abstract|formal|default|actual|variable|deprecated|small|late|literal|doc|by|see|throws|optional|license|tagged|final|native|annotation|sealed)\bz�(break|case|catch|continue|else|finally|for|in|if|return|switch|this|throw|try|while|is|exists|dynamic|nonempty|then|outer|assert|let)\bz9(abstracts|extends|satisfies|super|given|of|out|assign)\bz(function|value|void|new)\bz(assembly|module|package)(\s+)z(true|false|null)\bz#(class|interface|object|alias)(\s+)r(z
(import)(\s+)r'z"(\\\\|\\"|[^"])*"z%'\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'z".*``.*``.*"z(\.)([a-z_]\w*)z
[a-zA-Z_]\w*:z[a-zA-Z_]\w*z[~^*!%&\[\](){}<>|+=:;,./?-]z/\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z7\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z*[0-9][0-9]*\.\d{1,3}(_\d{3})+[kMGTPmunpf]?z2[0-9][0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?z##([0-9a-fA-F]{4})(_[0-9a-fA-F]{4})+z
#[0-9a-fA-F]+z\$([01]{4})(_[01]{4})+z\$[01]+z\d{1,3}(_\d{3})+[kMGTP]?z[0-9]+[kMGTP]?z\nz[A-Za-z_]\w*z#popz[a-z][\w.]*z[^*/]z#pushz\*/z[*/])r)r(r'rcN))r*r+r,r-r.r/r0r1r2r3r4r6�_wsrrrrr9rr
rr7r8r:rr;r<r=r>rr?ror@rArrBrCrDrFrGrHrIrIrIrJr �sj



c@sneZdZdZdZdgZdgZdgZej	ej
BejBZde
�ddd	d
d�dd
e
�ddd	d
dddddd�
dZde
�ddd	d
d�dd
e
�ddd	d
ddddddd�dZdededZdejfdefdefdefdejfdejfdefd efd!efd"efd#efd$efd%efd&ejfd'efd(eeeee�d)fd*eeee�fd+eee�d)fd,eee�d-fd.eeee�d/fd0eee�d1fd2eee�d3fd4eee�d3fd5efeefgd6ejd7fgeej d7fgeej!d7fgd8eee�fd9eee�fd:ed;fd<ed7feej!fgd:ed;fd=ed>eeej eej"�d7feej"d7fgd?eee�d7fd@efdAefdBefdefeefgdC�Z#dDS)Erz\
    For `Kotlin <http://kotlinlang.org/>`_
    source code.

    .. versionadded:: 1.5
    ZKotlinZkotlinz*.ktz
text/x-kotlinz@?[_ZLuZLlZLtZLmZNl�]�[ZNdZPcZCfZMnZMcz]*ZZsz,-]*�(z|`z`)z^\s*\[.*?\]z[^\S\n]+z\s+z\\\nz//.*?\nz/[*].*?[*]/z	""".*?"""z\nz::|!!|\?[:.]z[~!%^&*()+=|\[\]:;,.<>/?-]z[{}]z
@"(""|[^"])*"z"(\\\\|\\"|[^"\n])*["\n]z
'\\.'|'[^\\]'z?[0-9](\.[0-9]*)?([eE][+-][0-9]+)?[flFL]?|0[xX][0-9a-fA-F]+[Ll]?z(object)(\s+)(:)(\s+)r(z(companion)(\s+)(object)z(class|interface|object)(\s+)z(package|import)(\s+)�packagez(val|var)(\s+)([(])�property_decz(val|var)(\s+)�propertyz
(fun)(\s+)�functionz(inline fun)(\s+)a�(abstract|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|external|false|final|finally|for|fun|get|if|import|in|infix|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|tailrec|this|throw|true|try|val|var|vararg|when|where|while)\bz\S+z#popz(,)(\s*)z(:)(\s*)r��genericz([)])�z([.])z(>)(\s*)�:z(reified|out|in)\b�,)r)r�r(r�r�r�r�N)$r*r+r,r-r.r/r0r1r2r3r4r5r6�uni�combineZkt_nameZ
kt_space_nameZkt_idrr@rrr7r8rr
rr?rrrr=rGZPropertyr9rHrIrIrIrJr�sj>@
 c@s8eZdZdZdZdgZdgZdgZej	ej
BZdee
e�ejee�fdefdejfd	ejfd
ejfdefdejfd
ejfdeeje�fdejfdeeje�dfdeeje�dfdedfdedfdefdefdejfdefdefdejfdej fdej!fdefgd ej"d!fgd"ejd!fgd#ed!fd$ed!fd%efgd&�Z#d'S)(rzW
    For `Xtend <http://xtend-lang.org/>`_ source code.

    .. versionadded:: 1.6
    ZXtendZxtendz*.xtendztext/x-xtendz=^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_$][\w$]*)(\s*)(\()z[^\S\n]+z//.*?\nz	/\*.*?\*/z@[a-zA-Z_][\w.]*z�(assert|break|case|catch|continue|default|do|else|finally|for|if|goto|instanceof|new|return|switch|this|throw|try|while|IF|ELSE|ELSEIF|ENDIF|FOR|ENDFOR|SEPARATOR|BEFORE|AFTER)\bz�(def|abstract|const|enum|extends|final|implements|native|private|protected|public|static|strictfp|super|synchronized|throws|transient|volatile)\bz6(boolean|byte|char|double|float|int|long|short|void)\bz(package)(\s+)z(true|false|null)\bz(class|interface)(\s+)r(z
(import)(\s+)r'z(''')r�u(»)z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z
[a-zA-Z_]\w*:z
[a-zA-Z_$]\w*z[~^*!%&\[\](){}<>\|+=:;,./?-]z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+L?z\nz[a-zA-Z_]\w*z#popz	[\w.]+\*?z'''�«rs)r)r(r'r�N)$r*r+r,r-r.r/r0r1r2r3r4r6rrrrr9rr
rr7r8r:rr;r<r=r>rrArrBrCrFrGrHrIrIrIrJrFsNc@s�eZdZdZdZdgZdgZdgZej	ej
BZdefde
fde
jfd	efd
efdefed�ed
�ed�ed�ed�dejfdejfdejfdefdeejee�fdefdefdefgdefgdejfgdejfgdefgdefdefdefgd �Zd!S)"r!z\
    For `Pig Latin <https://pig.apache.org/>`_ source code.

    .. versionadded:: 2.0
    ZPigZpigz*.pigz
text/x-pigz\s+z--.*z/\*[\w\W]*?\*/z\\\nz\\z1\'(?:\\[ntbrf\\\']|\\u[0-9a-f]{4}|[^\'\\\n\r])*\'�keywords�typesr��punct�	operatorsz[0-9]*\.[0-9]+(e[0-9]+)?[fd]?z0x[0-9a-f]+z[0-9]+L?z\nz([a-z_]\w*)(\s*)(\()z[()#:]z
[^(:#\'")\s]+z\S+\s+a�(assert|and|any|all|arrange|as|asc|bag|by|cache|CASE|cat|cd|cp|%declare|%default|define|dense|desc|describe|distinct|du|dump|eval|exex|explain|filter|flatten|foreach|full|generate|group|help|if|illustrate|import|inner|input|into|is|join|kill|left|limit|load|ls|map|matches|mkdir|mv|not|null|onschema|or|order|outer|output|parallel|pig|pwd|quit|register|returns|right|rm|rmf|rollup|run|sample|set|ship|split|stderr|stdin|stdout|store|stream|through|union|using|void)\bz�(AVG|BinStorage|cogroup|CONCAT|copyFromLocal|copyToLocal|COUNT|cross|DIFF|MAX|MIN|PigDump|PigStorage|SIZE|SUM|TextLoader|TOKENIZE)\bzR(bytearray|BIGINTEGER|BIGDECIMAL|chararray|datetime|double|float|int|long|tuple)\bz[;(){}\[\]]z[#=,./%+\-?]z (eq|gt|lt|gte|lte|neq|matches)\bz(==|<=|<|>=|>|!=))r)r�r�r�r�r�N)r*r+r,r-r.r/r0r1r2r3�
IGNORECASEr6rrr8rrrrBrCrFrrr9rrr�r<r
rHrIrIrIrJr!�sHc@s�eZdZdZdZdgZdgZdefdefde	fde	fd	e	j
fd
efdee
je�dfd
eeje�fdejfdee
je�dfdee
je�dfdee
je�dfde
jfde
fdeeje�fdejfdeeje�fdejfdejfdejfdejjfdejfdefd ejfd!eed"d#�fd$eed"d%�fd&eed"d'�fd(ejfgdejd)fgd*ejd)fgd+ejd)fgdejd)fgd,efd-efgd.ej fgd!ed)fe!d/�d0efgd$ej"d)fe!d/�gd&ed)fe!d/�gd1e	fd2e	fd3e	fgd4�Z#d5S)6r"zU
    For `Golo <http://golo-lang.org/>`_ source code.

    .. versionadded:: 2.0
    ZGoloz*.goloZgoloz[^\S\n]+z#.*$z5(\^|\.\.\.|:|\?:|->|==|!=|=|\+|\*|%|/|<=|<|>=|>|=|\.)z(?<=[^-])(-)(?=[^-])z2(?<=[^`])(is|isnt|and|or|not|oftype|in|orIfNull)\bz
[]{}|(),[]z(module|import)(\s+)�modnamez\b([a-zA-Z_][\w$.]*)(::)z+\b([a-zA-Z_][\w$]*(?:\.[a-zA-Z_][\w$]*)+)\bz(let|var)(\s+)�varnamez
(struct)(\s+)�
structnamez(function)(\s+)�funcnamez(null|true|false)\bz�(augment|pimp|if|else|case|match|return|case|when|then|otherwise|while|for|foreach|try|catch|finally|throw|local|continue|break)\bz%(map|array|list|set|vector|tuple)(\[)z6(print|println|readln|raise|fun|asInterfaceInstance)\bz(`?[a-zA-Z_][\w$]*)(\()z&-?[\d_]*\.[\d_]*([eE][+-]?\d[\d_]*)?F?z	0[0-7]+j?z0[xX][a-fA-F0-9]+z-?\d[\d_]*Lz
-?\d[\d_]*z`?[a-zA-Z_][\w$]*z@[a-zA-Z_][\w$.]*z"""�stringescape�triplestringri�doublestringr��singlestringz----((.|\n)*?)----z#popz[a-zA-Z_][\w$.]*\*?z`?[\w.]+\*?z[^\\\'"\n]+z[\'"\\]zY\\([\\abfnrtv"\']|\n|N\{.*?\}|u[a-fA-F0-9]{4}|U[a-fA-F0-9]{8}|x[a-fA-F0-9]{2}|[0-7]{1,3})rpz\nz[#=,./%+\-?]z (eq|gt|lt|gte|lte|neq|matches)\bz(==|<=|<|>=|>|!=))r)rrrrrprrrrr�N)$r*r+r,r-r.r0r/rrr
�Wordrrrr=rr;r>r�r9rrBrErCrFZLongr:rrr�rGr�r�rrzrHrIrIrIrJr"�s~






c"@s�eZdZdZdZddgZdgZdZdeZdeZ	d	e	Z
d
e	Zde	Zde
d
fdejdfdejdfdefdedfee
fdejfde
ejfde
ejfde
ejfdeejfde
ejdfde
ejfde
ejdfde
ejd fd!e
ejd"fd#e
ejd$fd%e
ejd&fd'e
ejd(fd)e
ejd*fd+e
ejdfd,e
ejd-fd.e
ejd/fd0e
ejd1fed2e
d3�ejfd4e
ejd5fd6e
ejd7fd8e
ejd9fd:e
ejd;fed<e
d3�ejdfd=e
ejd>fd?e
ejd@fg dejd
fdAejfdBejfgdejd
fdCejfdDejfgdEe
fdejdFfedG�dHeeeje
e�feej fgde
dIfdJe
ejdKfedG�gdEe
fdLe
ejd
fedG�eej dMfgdEe
fdLe
ejd
fedG�e!dM�gdejdFfedG�eej fgdNe
ed
fed*�gedG�dOeefeej"ej#ej$e�d
fdPeefeej#ej$�d
fgedG�dQedRfdSeefeej"ej#ej$e�d
fdTeefeej#ej$�d
fgedG�dQefdUeefeej"ej#ej$e�d
fdVe	ej"d
fe!d
�gedG�dQefdSeefeej"ej#ej$e�d
fdVe	ej"d
fe!d
�gdWed
fe!d>�gee
fdXe	e
dYfe!dZ�gedG�dPeefeej#ej%�d
fgd[e
ejd\fedG�d]ee	eefeej#ej$ejj&�d
fgedG�d^ee	eefeej#ej$ej'e�d_fgedG�eejd
fgedG�d`eeej'e�d_fgdae
ejd
fedG�gedG�d]ee	eefeej#ej$ejj$�d
fgdEe
fdJe
ejd
fedG�eejfgedG�eejd
fgedG�dbe
ed
fdce
eddfdee
edffgdg�Z(dhdi�Z)djS)kr#zb
    For `Jasmin <http://jasmin.sourceforge.net/>`_ assembly code.

    .. versionadded:: 2.0
    ZJasminZjasminZjasminxtz*.jz \n\t\rz	(?:[%s]+)z%s:=z
(?=[%s]|$)z[^%s]+z(?:[^%s.;\[/]+)z\nz#popr�)z#popr�rirpr�r��labelz;.*z(\$[-+])?0x-?[\da-fA-F]+%sz(\$[-+]|\+)?-?\d+%szG-?(\d+\.\d*|\.\d+)([eE][-+]?\d+)?[fFdD]?[\x00-\x08\x0b\x0c\x0e-\x1f]*%sz\$%sz\.annotation%srQa!(\.attribute|\.bytecode|\.debug|\.deprecated|\.enclosing|\.interface|\.line|\.signature|\.source|\.stack|\.var|abstract|annotation|bridge|class|default|enum|field|final|fpstrict|interface|native|private|protected|public|signature|static|synchronized|synthetic|transient|varargs|volatile)%sz	\.catch%szcaught-exceptionzb(\.class|\.implements|\.inner|\.super|inner|invisible|invisibleparam|outer|visible|visibleparam)%szclass/convert-dotsz	\.field%s)zdescriptor/convert-dots�fieldz(\.end|\.limit|use)%szno-verificationz
\.method%s�methodz\.set%sr�z
\.throws%s�	exceptionz(from|offset|to|using)%szis%s)zdescriptor/convert-dotsr�z(locals|stack)%s�verificationzmethod%szenclosing-method)�ZaaloadZaastoreZaconst_nullZaloadZaload_0Zaload_1Zaload_2Zaload_3Zaload_wZareturnZarraylengthZastoreZastore_0Zastore_1Zastore_2Zastore_3Zastore_w�athrowZbaloadZbastoreZbipush�
breakpointZcaloadZcastoreZd2fZd2iZd2lZdaddZdaloadZdastoreZdcmpgZdcmplZdconst_0Zdconst_1ZddivZdloadZdload_0Zdload_1Zdload_2Zdload_3Zdload_wZdmulZdnegZdremZdreturnZdstoreZdstore_0Zdstore_1Zdstore_2Zdstore_3Zdstore_wZdsub�dup�dup2Zdup2_x1Zdup2_x2Zdup_x1Zdup_x2Zf2dZf2iZf2lZfaddZfaloadZfastoreZfcmpgZfcmplZfconst_0Zfconst_1Zfconst_2ZfdivZfloadZfload_0Zfload_1Zfload_2Zfload_3Zfload_wZfmulZfnegZfremZfreturnZfstoreZfstore_0Zfstore_1Zfstore_2Zfstore_3Zfstore_wZfsubZi2bZi2cZi2dZi2fZi2lZi2s�iaddZiaload�iandZiastoreZiconst_0Ziconst_1Ziconst_2Ziconst_3Ziconst_4Ziconst_5Z	iconst_m1ZidivZiincZiinc_wZiloadZiload_0Ziload_1Ziload_2Ziload_3Ziload_w�imulZineg�int2byteZint2charZ	int2short�iorZiremZireturnZishlZishrZistoreZistore_0Zistore_1Zistore_2Zistore_3Zistore_w�isubZiushr�ixorZl2dZl2fZl2iZladdZlaloadZlandZlastoreZlcmpZlconst_0Zlconst_1Zldc2_wZldivZlloadZlload_0Zlload_1Zlload_2Zlload_3Zlload_wZlmulZlnegZlookupswitchZlorZlremZlreturnZlshlZlshrZlstoreZlstore_0Zlstore_1Zlstore_2Zlstore_3Zlstore_wZlsubZlushrZlxorZmonitorenterZmonitorexitZnopr�Zpop2�retZret_w�returnZsaloadZsastoreZsipushZswap)r�z0(anewarray|checkcast|instanceof|ldc|ldc_w|new)%sz
class/no-dotsz=invoke(dynamic|interface|nonvirtual|special|static|virtual)%s�
invocationz(getfield|putfield)%s)zdescriptor/no-dotsrz(getstatic|putstatic)%s)zdescriptor/no-dots�static)ZgotoZgoto_wZ	if_acmpeqZ	if_acmpneZ	if_icmpeqZ	if_icmpgeZ	if_icmpgtZ	if_icmpleZ	if_icmpltZ	if_icmpneZifeqZifgeZifgtZifleZifltZifneZ	ifnonnullZifnullZjsrZjsr_wz(multianewarray|newarray)%szdescriptor/convert-dotsz
tableswitch%s�tablez\\u[\da-fA-F]{4}z[^'\\]+z0\\([nrtfb"\'\\]|u[\da-fA-F]{4}|[0-3]?[0-7]{1,2})z[^"\\]+z\n+r�r	z(%s)([ \t\r]*)(:))z#popzannotation-bodyz	default%s)z#popzannotation-defaultz\.end%s)zannotation-itemszdescriptor/no-dotszall%sz(L)((?:%s[/.])*)(%s)(;)z((?:%s[/.])*)(%s)z\[+)z#popzdescriptor/no-dotsz(L)((?:%s/)*)(%s)(;)z((?:%s/)*)(%s)z(L)((?:%s[/.])*)(%s?)(;)z
[^%s\[)L]+z\)z(?=[^%s]*\())z#popr)z#popzclass/convert-dotszstatic%s)z#poprz(((?:%s[/.](?=[^%s]*[/.]))*)(%s[/.])?(%s)z-((?:%s[/.](?=[^%s(]*[/.]))*)(%s[/.])?(%s)(\())z#popzdescriptor/convert-dotszdescriptors/convert-dotszdescriptor/convert-dotsz(%s)(\()z(locals|method|stack)%sz8(Double|Float|Integer|Long|Null|Top|UninitializedThis)%szObject%s)z#popz
class/no-dotszUninitialized%s)z#popr
)r	r�rpr)rQzannotation-bodyzannotation-defaultzannotation-itemszcaught-exceptionzclass/convert-dotsz
class/no-dotszdescriptor/convert-dotszdescriptor/no-dotszdescriptors/convert-dotszenclosing-methodr
rrr
rzno-verificationrrr�rcCsPd}t�d|tj�r4|d7}t�d|tj�r4|d7}t�d|tj�rL|d7}|S)Nrz
^\s*\.class\sg�?z^\s*[a-z]+_[a-z]+\bg333333�?za^\s*\.(attribute|bytecode|debug|deprecated|enclosing|inner|interface|limit|set|signature|stack)\bg333333�?)r2�searchr3)r_ZscorerIrIrJry6szJasminLexer.analyse_textN)*r*r+r,r-r.r/r0�_whitespacer�Z
_separator�_break�_nameZ_unqualified_namerrr7rzrrrrCrFrBrr�rr�r
r�rrrAr�r	r<r=rG�	ExceptionZInstancer9rHryrIrIrIrJr#;s@


























c@seZdZdZdZdgZdgZdgZej	ej
BZdee
e�ejee�fdefdejfd	ejfd
ejfdefdejfd
ejfdeeje�fdejfdeeje�dfdeeje�dfdefdefdejfdefdefdejfdej fdej!fdefgdej"dfgdejdfgd �Z#d!S)"r$zJ
	For `SARL <http://www.sarl.io>`_ source code.
	
	.. versionadded:: 2.4
	ZSARLZsarlz*.sarlztext/x-sarlz=^(\s*(?:[a-zA-Z_][\w.\[\]]*\s+)+?)([a-zA-Z_$][\w$]*)(\s*)(\()z[^\S\n]+z//.*?\nz	/\*.*?\*/z@[a-zA-Z_][\w.]*z�(as|break|case|catch|default|do|else|extends|extension|finally|fires|for|if|implements|instanceof|new|on|requires|return|super|switch|throw|throws|try|typeof|uses|while|with)\bz�(abstract|def|dispatch|final|native|override|private|protected|public|static|strictfp|synchronized|transient|val|var|volatile)\bz6(boolean|byte|char|double|float|int|long|short|void)\bz(package)(\s+)z+(false|it|null|occurrence|this|true|void)\bzY(agent|annotation|artifact|behavior|capacity|class|enum|event|interface|skill|space)(\s+)r(z
(import)(\s+)r'z"(\\\\|\\"|[^"])*"z'(\\\\|\\'|[^'])*'z
[a-zA-Z_]\w*:z
[a-zA-Z_$]\w*z[~^*!%&\[\](){}<>\|+=:;,./?-]z%[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?z0x[0-9a-fA-F]+z[0-9]+L?z\nz[a-zA-Z_]\w*z#popz	[\w.]+\*?)r)r(r'N)$r*r+r,r-r.r/r0r1r2r3r4r6rrrrr9rr
rr7r8r:rr;r<r=r>rrArrBrCrFrGrHrIrIrIrJr$CsB),r-r2Zpygments.lexerrrrrrrrr	r
Zpygments.tokenrrr
rrrrrZ
pygments.utilr�pygmentsrr��__all__rrrrrrrrrr�r rrr!r"r#r$rIrIrIrJ�<module>
s>,(D'gOG@
/P\ACq