3 ��X� � @ sZ d Z ddlmZmZmZ ddlmZmZmZm Z m Z mZmZm Z dgZG dd� de�ZdS )z� pygments.lexers.j ~~~~~~~~~~~~~~~~~ Lexer for the J programming language. :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. � )� RegexLexer�words�include)�Comment�Keyword�Name�Number�Operator�Punctuation�String�Text�JLexerc ` @ s� e Zd ZdZdZdgZdgZdgZdZde j fde jfd e jd fde jfde fd edfdejdfdejdfed�ed d�ejfed�dd�ejfeejfed��ejfd�efd�efd�ejfd�ejfd�ejfd�ed�fed��gd�e jfd�e jd�fd�e jfgd�ejfed��d�efd�ejd�fd�efgd�efd�efd�ejfd�ejjfd�ejfgd�efd�ejd�fd�efgd�ed�fed�ed��gd�efd�efd ed�fgd��Z d�S )�r zR For `J <http://jsoftware.com/>`_ source code. .. versionadded:: 2.1 �J�jz*.ijsztext/x-jz \b[a-zA-Z]\w*z#!.*$zNB\..*z \n+\s*Note�commentz \s*Note.*z\s+�'�singlequotez0\s+:\s*0|noun\s+define\s*$�nounDefinitionzD(([1-4]|13)\s+:\s*0|(adverb|conjunction|dyad|monad|verb)\s+define)\b�explicitDefinition�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'')r� r r r� r r� r N)r r r )r r r r r r r r r! r"