3 pygments.lexers.j |
3 pygments.lexers.j |
4 ~~~~~~~~~~~~~~~~~ |
4 ~~~~~~~~~~~~~~~~~ |
5 |
5 |
6 Lexer for the J programming language. |
6 Lexer for the J programming language. |
7 |
7 |
8 :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS. |
8 :copyright: Copyright 2006-2017 by the Pygments team, see AUTHORS. |
9 :license: BSD, see LICENSE for details. |
9 :license: BSD, see LICENSE for details. |
10 """ |
10 """ |
11 |
11 |
12 from pygments.lexer import RegexLexer, words, include |
12 from pygments.lexer import RegexLexer, words, include |
13 from pygments.token import Comment, Keyword, Name, Number, Operator, Punctuation, \ |
13 from pygments.token import Comment, Keyword, Name, Number, Operator, Punctuation, \ |
46 # Strings |
46 # Strings |
47 (r"'", String, 'singlequote'), |
47 (r"'", String, 'singlequote'), |
48 |
48 |
49 # Definitions |
49 # Definitions |
50 (r'0\s+:\s*0|noun\s+define\s*$', Name.Entity, 'nounDefinition'), |
50 (r'0\s+:\s*0|noun\s+define\s*$', Name.Entity, 'nounDefinition'), |
51 (r'\b(([1-4]|13)\s+:\s*0)|((adverb|conjunction|dyad|monad|verb)\s+define)\b', |
51 (r'(([1-4]|13)\s+:\s*0|(adverb|conjunction|dyad|monad|verb)\s+define)\b', |
52 Name.Function, 'explicitDefinition'), |
52 Name.Function, 'explicitDefinition'), |
53 |
53 |
54 # Flow Control |
54 # Flow Control |
55 (words(('for_', 'goto_', 'label_'), suffix=validName+'\.'), Name.Label), |
55 (words(('for_', 'goto_', 'label_'), suffix=validName+'\.'), Name.Label), |
56 (words(( |
56 (words(( |
73 'dfh', 'drop', 'each', 'echo', 'empty', |
73 'dfh', 'drop', 'each', 'echo', 'empty', |
74 'erase', 'every', 'evtloop', 'exit', 'expand', |
74 'erase', 'every', 'evtloop', 'exit', 'expand', |
75 'fetch', 'file2url', 'fixdotdot', 'fliprgb', 'getargs', |
75 'fetch', 'file2url', 'fixdotdot', 'fliprgb', 'getargs', |
76 'getenv', 'hfd', 'inv', 'inverse', 'iospath', |
76 'getenv', 'hfd', 'inv', 'inverse', 'iospath', |
77 'isatty', 'isutf8', 'items', 'leaf', 'list', |
77 'isatty', 'isutf8', 'items', 'leaf', 'list', |
78 'nameclass', 'namelist', 'namelist', 'names', 'nc', |
78 'nameclass', 'namelist', 'names', 'nc', |
79 'nl', 'on', 'pick', 'pick', 'rows', |
79 'nl', 'on', 'pick', 'rows', |
80 'script', 'scriptd', 'sign', 'sminfo', 'smoutput', |
80 'script', 'scriptd', 'sign', 'sminfo', 'smoutput', |
81 'sort', 'split', 'stderr', 'stdin', 'stdout', |
81 'sort', 'split', 'stderr', 'stdin', 'stdout', |
82 'table', 'take', 'timespacex', 'timex', 'tmoutput', |
82 'table', 'take', 'timespacex', 'timex', 'tmoutput', |
83 'toCRLF', 'toHOST', 'toJ', 'tolower', 'toupper', |
83 'toCRLF', 'toHOST', 'toJ', 'tolower', 'toupper', |
84 'type', 'ucp', 'ucpcount', 'usleep', 'utf8', |
84 'type', 'ucp', 'ucpcount', 'usleep', 'utf8', |