3

V'íc&ã@spdZddlmZmZmZmZddlmZmZm	Z	m
Z
mZmZm
Z
mZddgZGdd„deƒZGdd„deƒZdS)	zâ
    pygments.lexers.smalltalk
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Smalltalk and related languages.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é)Ú
RegexLexerÚincludeÚbygroupsÚdefault)ÚTextÚCommentÚOperatorÚKeywordÚNameÚStringÚNumberÚPunctuationÚSmalltalkLexerÚ
NewspeakLexerc@sŒeZdZdZdZdZdgZdddgZdgZd	e	e
ee
e
ƒfed
ƒedƒedƒd
e	e
eje
ƒfedƒde
fde
fgde	eje
ejƒfde	eje
ƒfde	eje
eje
ƒfgedƒde	e
e
ejƒfde
dfedƒgdedfdejdfdejdfde
dfdedfgedƒdefdejfdefdejfdejd fgdejdAfed"ƒgdejdfed"ƒgd#e
fd$efgd%e
d&fd'e
dfd(ejjdfd)ejdfd*ejdfd+ejdfed,ƒgd-edfedƒd.ejdfd/ejfd0e
dfd1ejdfd2ejfd3ejdfd4edfd5efd6e
fd7e
dfgd8efd9efd:e	eejeeee
eƒfd;e	eejeeeƒfd<e	ejeejeeeeeeeeeƒfd=e	ejeeeƒfd>e	ee
eƒfd-efgd?œZd@S)Brz‚
    For Smalltalk syntax.
    Contributed by Stefan Matthias Aust.
    Rewritten by Nils Winter.

    .. versionadded:: 0.10
    Z	Smalltalkzhttp://www.smalltalk.org/z*.stZ	smalltalkZsqueakÚstztext/x-smalltalkz(<)(\w+:)(.*?)(>)zsqueak fileoutÚwhitespaceszmethod definitionz(\|)([\w\s]*)(\|)Úobjectsz	\^|\:=|\_z
[\]({}.;!]z([a-zA-Z]+\w*:)(\s*)(\w+)z^(\b[a-zA-Z]+\w*\b)(\s*)$z'^([-+*/\\~<>=|&!?,@%]+)(\s*)(\w+)(\s*)$z
(:)(\s*)(\w+)z\|z#popz'(''|[^'])*'Úafterobjectz\$.z#\(Úparenthz\)z(\d+r)?-?\d+(\.\d+)?(e-?\d+)?z[-+*/\\~<>=|&#!?,@%\w:]+z#*\(Ú
inner_parenthÚrootÚ_parenth_helperz\s+z"(""|[^"])*"z\[Úblockvariablesz\]z+\b(self|super|true|false|nil|thisContext)\bz\b[A-Z]\w*(?!:)\bz\b[a-z]\w*(?!:)\bz+#("(""|[^"])*"|[-+*/\\~<>=|&!?,@%]+|[\w:]+)Úliteralsz! !$z8\b(ifTrue:|ifFalse:|whileTrue:|whileFalse:|timesRepeat:)z\b(new\b(?!:))z\:=|\_z\b[a-zA-Z]+\w*:z\b[a-zA-Z]+\w*z\w+:?|[-+*/\\~<>=|&!?,@%]+z\.ú;z[\])}]z[\[({]z^"(""|[^"])*"!z^'(''|[^'])*'!z7^(!)(\w+)( commentStamp: )(.*?)( prior: .*?!\n)(.*?)(!)z9^(!)(\w+(?: class)?)( methodsFor: )('(?:''|[^'])*')(.*?!)z‹^(\w+)( subclass: )(#\w+)(\s+instanceVariableNames: )(.*?)(\s+classVariableNames: )(.*?)(\s+poolDictionaries: )(.*?)(\s+category: )(.*?)(!)z5^(\w+(?: class)?)(\s+instanceVariableNames: )(.*?)(!)z(!\n)(\].*)(! !)$)rzmethod definitionrrrrrrrrzsqueak fileoutN)rr)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚ	filenamesÚaliasesÚ	mimetypesrrr	rrr
ÚVariableÚFunctionrrZCharÚSymbolrrZBuiltinZPseudoÚClassr
Útokens©r)r)ú=/tmp/pip-build-gk9425m9/Pygments/pygments/lexers/smalltalk.pyrs˜











c@s&eZdZdZdZdZdgZdgZdgZde	j
fdefd	ee	j
e
eje
ƒfd
e	fdeeje
ejƒfdeeje
eƒfd
ejfedƒedƒg	dejfdejfdejfdeejeƒfdejfdejfdefdefdefdefdefedƒedƒg
defdefdejfdejfdejfgd e
fd!efgd"œZd#S)$rz9
    For Newspeak syntax.

    .. versionadded:: 1.1
    ZNewspeakzhttp://newspeaklanguage.org/z*.ns2Znewspeakztext/x-newspeakz\b(Newsqueak2)\bz'[^']*'z\b(class)(\s+)(\w+)(\s*)z>\b(mixin|self|super|private|public|protected|nil|true|false)\bz(\w+\:)(\s*)([a-zA-Z_]\w+)z
(\w+)(\s*)(=)z<\w+>ÚexpressionstatÚ
whitespacez(\d+\.\d*|\.\d+|\d+[fF])[fF]?z\d+z:\w+z	(\w+)(::)z\w+:z\w+z\(|\)z\[|\]z\{|\}z)(\^|\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-|:)z\.|;rz\$.z#'[^']*'z#\w+:?z&#(\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-)+z\s+z"[^"]*")rr+rr,N)rrrrrr r!r"r#r	ZDeclarationrrrr
r'r%r$Ú	AttributerrÚSpecialrrZFloatZIntegerr
r&r(r)r)r)r*rŒsN
N)rZpygments.lexerrrrrZpygments.tokenrrrr	r
rrr
Ú__all__rrr)r)r)r*Ú<module>	s
(z