B
    ë¹`  ã               @   sp   d Z ddlmZmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZ ddgZG dd„ deƒZG dd„ deƒZdS )	zâ
    pygments.lexers.smalltalk
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexers for Smalltalk and related languages.

    :copyright: Copyright 2006-2021 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ˆ  e Zd ZdZdZdgZdddgZdgZdee	e
e	e	ƒfed	ƒed
ƒedƒdeeejeƒfedƒdefde	fgdeeje	ejƒfdeeje	ƒfdeeje	eje	ƒfged
ƒdeee	ejƒfdedfedƒgdedfdejdfdejdfde	dfdedfged
ƒdefdejfdefdejfdejdfgdejd fed!ƒgdejdfed!ƒgd"e	fd#efgd$e	d%fd&e	dfd'ejjdfd(ejdfd)ejdfd*ejdfed+ƒgd,e
dfed
ƒd-ejdfd.ejfd/edfd0ejdfd1ejfd2ejdfd3edfd4efd5e	fd6e	dfgd7e
fd8e
fd9ee
eje
ee
e	e
ƒfd:ee
eje
ee
ƒfd;eeje
eje
ee
ee
ee
ee
ƒfd<eeje
ee
ƒfd=ee
e	e
ƒfd,e
fgd>œZd?S )@r   z¡
    For `Smalltalk <http://www.smalltalk.org/>`_ syntax.
    Contributed by Stefan Matthias Aust.
    Rewritten by Nils Winter.

    .. versionadded:: 0.10
    Z	Smalltalkz*.stZ	smalltalkZsqueakÚstztext/x-smalltalkz(<)(\w+:)(.*?)(>)zsqueak fileoutÚwhitespaceszmethod 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)Úrootr   Ú_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)(\].*)(! !)$)r   zmethod definitionr   r   r   r   r   r   r   r   zsqueak fileoutN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚ	filenamesÚaliasesÚ	mimetypesr   r   r	   r   r   r
   ÚVariableÚFunctionr   r   ÚCharÚSymbolr   r   ZBuiltinZPseudoÚClassr   Útokens© r)   r)   úa/home/kop/projects/devel/pgwui/test_venv/lib/python3.7/site-packages/pygments/lexers/smalltalk.pyr      s–   











c               @   s"  e Zd ZdZdZdgZdgZdgZdej	fde
fdeej	eejeƒfd	efd
eejeejƒfdeejeeƒfdejfedƒedƒg	dejfdejfdejfdeejeƒfdejfdejfdefdefdefdefdefedƒedƒgde
fde
fde
jfde
jfde
jfgdefd efgd!œZd"S )#r   z[
    For `Newspeak <http://newspeaklanguage.org/>`_ syntax.

    .. versionadded:: 1.1
    ZNewspeakz*.ns2Znewspeakztext/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\.|;r   z\$.z#'[^']*'z#\w+:?z&#(\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-)+z\s+z"[^"]*")r   r+   r   r,   N)r   r   r   r   r   r    r!   r"   r	   ZDeclarationr   r   r   r
   r'   r$   r#   Ú	Attributer   r   ÚSpecialr   r   ZFloatZIntegerr   r&   r(   r)   r)   r)   r*   r   ‹   sL   
N)r   Zpygments.lexerr   r   r   r   Zpygments.tokenr   r   r   r	   r
   r   r   r   Ú__all__r   r   r)   r)   r)   r*   Ú<module>	   s
   (y