3
V'ícö ã @ s^ d Z ddlmZmZmZmZ ddlmZmZm Z m
Z
mZmZm
Z
mZ dgZG dd deZdS )zÌ
pygments.lexers.j
~~~~~~~~~~~~~~~~~
Lexer for the J programming language.
:copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE for details.
é )Ú
RegexLexerÚwordsÚincludeÚbygroups)ÚCommentÚKeywordÚNameÚNumberÚOperatorÚPunctuationÚStringÚ
WhitespaceÚJLexerc b @ sÈ e Zd ZdZdZdZdgZdgZdgZdZ de
jfd e
jfd
e
ee
jdfde
ee
jfd
efdedfdejdfde
ejeejedfdejdfde
ejeejdfede d dejfedddejfe ejfedejfdefdefd
ejfdejfdejfdedfedgde
jfde
jdfde
jfgdejfeddefdejdfdefgdefdefdejfdej j!fdej fgdefdejdfdefgdedfededgdefdefdedfgdZ"dS )r z7
For J source code.
.. versionadded:: 2.1
ÚJzhttp://jsoftware.com/Újz*.ijsztext/x-jz
\b[a-zA-Z]\w*z#!.*$zNB\..*z(\n+\s*)(Note)Úcommentz
(\s*)(Note.*)z\s+ú'Úsinglequotez 0\s+:\s*0ÚnounDefinitionz(noun)(\s+)(define)(\s*)$z([1-4]|13)\s+:\s*0\bÚexplicitDefinitionz3(adverb|conjunction|dyad|monad|verb)(\s+)(define)\bÚfor_Úgoto_Úlabel_z\.)ÚsuffixÚassertÚbreakÚcaseÚcatchÚcatchdÚcatchtÚcontinueÚdoÚelseÚelseifÚendÚfcaseÚforÚifÚreturnÚselectÚthrowÚtryÚwhileÚwhilstÚARGVÚCRÚCRLFÚDELÚDebugÚEAVÚEMPTYÚFFÚJVERSIONÚLFÚLF2ÚNoteÚTABÚalpha17Úalpha27ÚapplyÚbindÚboxopenÚboxxopenÚbxÚclearÚcutLFÚcutopenÚdatatypeÚdefÚdfhÚdropÚeachÚechoÚemptyÚeraseÚeveryÚevtloopÚexitÚexpandÚfetchÚfile2urlÚ fixdotdotÚfliprgbÚgetargsÚgetenvÚhfdÚinvÚinverseÚiospathÚisattyÚisutf8ÚitemsÚleafÚlistÚ nameclassÚnamelistÚnamesÚncÚnlÚonÚpickÚrowsÚscriptÚscriptdÚsignÚsminfoÚsmoutputÚsortÚsplitÚstderrÚstdinÚstdoutÚtableÚtakeÚ
timespacexÚtimexÚtmoutputÚtoCRLFÚtoHOSTÚtoJÚtolowerÚtoupperÚtypeÚucpÚucpcountÚusleepÚutf8Úuucpz=[.:]z![-=+*#$%@!~`^&";:.,<>{}\[\]\\|/?]z[abCdDeEfHiIjLMoprtT]\.z[aDiLpqsStux]\:z
(_[0-9])\:z\(ÚparenthesesÚnumbersz[^)]z^\)z#popz[)]z\b[nmuvxy]\bÚrootz
\b_{1,2}\bz)_?\d+(\.\d+)?(\s*[ejr]\s*)_?\d+(\.?=\d+)?z_?\d+\.(?=\d+)z_?\d+xz_?\d+z[^)]+z\)z[^']+z'')r r r r r r r N)r r r )r r r r r r r r! r"