
    &                     |    S r SSKJrJrJrJr  SSKJrJrJ	r	J
r
JrJrJrJr  SS/r " S S\5      r " S S\5      rg)	z
pygments.lexers.smalltalk
~~~~~~~~~~~~~~~~~~~~~~~~~

Lexers for Smalltalk and related languages.

:copyright: Copyright 2006-2023 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                   L   \ rS rSrSrSrSrS/r/ SQrS/r	S\
" \\\\5      4\" S	5      \" S
5      \" S5      S\
" \\R                   \5      4\" S5      S\4S\4/S\
" \R"                  \\R                   5      4S\
" \R"                  \5      4S\
" \R"                  \\R                   \5      4/\" S
5      S\
" \\\R                   5      4S\S4\" S5      /S\S4S\R(                  S4S\R*                  S4S\S4S\S4/\" S
5      S\4S\R*                  4S\4S\R(                  4S\R*                  S4/S\R*                  S 4\" S!5      /S\R*                  S4\" S!5      /S"\4S#\4/S$\S%4S&\S4S'\R0                  R2                  S4S(\R4                  S4S)\R                   S4S*\R*                  S4\" S+5      /S,\S4\" S
5      S-\R0                  S4S.\R0                  4S/\S4S0\R"                  S4S1\R"                  4S2\R"                  S4S3\S4S4\4S5\4S6\S4/S7\4S8\4S9\
" \\R4                  \\\\\5      4S:\
" \\R4                  \\\5      4S;\
" \R4                  \\R*                  \\\\\\\\\5      4S<\
" \R4                  \\\5      4S=\
" \\\5      4S,\4/S>.rS?rg@)Ar      zn
For Smalltalk syntax.
Contributed by Stefan Matthias Aust.
Rewritten by Nils Winter.

.. versionadded:: 0.10
	Smalltalkzhttp://www.smalltalk.org/z*.st)	smalltalksqueakstztext/x-smalltalkz(<)(\w+:)(.*?)(>)squeak fileoutwhitespaces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'(''|[^'])*'afterobject\$.z#\(parenthz\)z(\d+r)?-?\d+(\.\d+)?(e-?\d+)?z[-+*/\\~<>=|&#!?,@%\w:]+z#*\(inner_parenth)rootr   _parenth_helper\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   r   r"   r#   r    r   r   r   r   r   r    N)__name__
__module____qualname____firstlineno____doc__nameurl	filenamesaliases	mimetypesr   r   r
   r   r	   r   VariableFunctionr   r   CharSymbolr   r   BuiltinPseudoClassr   tokens__static_attributes__r%       ,lib/third_party/pygments/lexers/smalltalk.pyr   r      s    D
%CI+G#$I "8D'4#FG$%M"'(!8HdmmX#NOI8$D!

 *dmmT4==9;)8DMM4+HI7dmmT4==$?A
 M"hdmm46Hf%FO
 fm4V[[-0V]]I.D-(-v}E
 M"-v6(&--8f%V[[!fmm_5
 FMM#:;%&	
 FMM6*%&
 TNg&
 D*+D-(;\\  -1!4::}=!4==-@;]]M+J

 gv&M"H\\6#-&)7.*DMM6BK(;f%
" ((G$**gvwgVXI$**gvwGI(
 WfmmWfg&'67LM FWfg>@!8GT7#CDg%
kiFr9   c                      \ rS rSrSrSrSrS/rS/rS/r	S\
R                  4S	\4S
\" \
R                  \\R                   \5      4S\
4S\" \R"                  \\R$                  5      4S\" \R&                  \\5      4S\R,                  4\" S5      \" S5      /	S\R2                  4S\R4                  4S\R$                  4S\" \R$                  \5      4S\R"                  4S\R$                  4S\4S\4S\4S\4S\4\" S5      \" S5      /S\4S	\4S\R8                  4S\R8                  4S \R8                  4/S!\4S"\4/S#.rS$rg%)&r      z-
For Newspeak syntax.

.. versionadded:: 1.1
Newspeakzhttp://newspeaklanguage.org/z*.ns2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#   r   z#'[^']*'z#\w+:?z&#(\+|\/|~|\*|<|>|=|@|%|\||&|\?|!|,|-)+r!   z"[^"]*")r   r?   r#   r@   r%   N)r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r
   Declarationr   r   r   r   r6   r1   r0   	Attributer	   r   Specialr   r   FloatIntegerr   r3   r7   r8   r%   r9   r:   r   r      s   
 D
(C	InG"#I !'"5"56 (g))4TBDN*dmmT4==9;dnndH57w'$%L!
" .v||<V^^$dmm$8DMM8<=dmm$T]]#{#{#{#98Dk"L!J
" V &--(&6F
 TN!
Q,Fr9   N)r*   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   r   __all__r   r   r%   r9   r:   <module>rI      sI    B A   _
-wZ wt8J 8r9   