1"""
2 pygments.lexers.matlab
3 ~~~~~~~~~~~~~~~~~~~~~~
4
5 Lexers for Matlab and related languages.
6
7 :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8 :license: BSD, see LICENSE for details.
9"""
10
11import re
12
13from pygments.lexer import Lexer, RegexLexer, bygroups, default, words, \
14 do_insertions, include
15from pygments.token import Text, Comment, Operator, Keyword, Name, String, \
16 Number, Punctuation, Generic, Whitespace
17
18from pygments.lexers import _scilab_builtins
19
20__all__ = ['MatlabLexer', 'MatlabSessionLexer', 'OctaveLexer', 'ScilabLexer']
21
22
23# The function-definition signature, shared by the Matlab, Octave and Scilab
24# lexers (which all use the same syntax). Tokenised incrementally rather than
25# with a single regex so that a `...` line continuation may appear anywhere in
26# the signature, which is valid in all three languages.
27_deffunc = [
28 (r'[ \t]+', Whitespace),
29 (r'\.\.\..*?\n', Comment), # line continuation
30 # output argument(s): `[a, b] =` (may span continuations) or `y =`
31 (r'(\[)([^\]]*)(\])([ \t]*)(=)',
32 bygroups(Punctuation, Text, Punctuation, Whitespace, Punctuation)),
33 (r'([a-zA-Z_]\w*)([ \t]*)(=)(?!=)',
34 bygroups(Text, Whitespace, Punctuation)),
35 (r'[a-zA-Z_]\w*', Name.Function), # function name
36 (r'\(', Punctuation, 'deffunc_args'),
37 (r'\n', Whitespace, '#pop'), # end of a no-argument-list signature
38 default('#pop'),
39]
40
41_deffunc_args = [
42 (r'\.\.\..*?\n', Comment), # line continuation
43 (r'\)', Punctuation, '#pop:2'),
44 (r'[^)\n.]+', Text),
45 (r'[.\n]', Text),
46]
47
48
49class MatlabLexer(RegexLexer):
50 """
51 For Matlab source code.
52 """
53 name = 'Matlab'
54 aliases = ['matlab']
55 filenames = ['*.m']
56 mimetypes = ['text/matlab']
57 url = 'https://www.mathworks.com/products/matlab.html'
58 version_added = '0.10'
59
60 _operators = r'-|==|~=|<=|>=|<|>|&&|&|~|\|\|?|\.\*|\*|\+|\.\^|\^|\.\\|\./|/|\\'
61
62 tokens = {
63 'expressions': [
64 # operators:
65 (_operators, Operator),
66
67 # numbers (must come before punctuation to handle `.5`; cannot use
68 # `\b` due to e.g. `5. + .5`). The negative lookahead on operators
69 # avoids including the dot in `1./x` (the dot is part of `./`).
70 (rf'(?<!\w)((\d+\.\d+)|(\d*\.\d+)|(\d+\.(?!{_operators})))'
71 r'([eEf][+-]?\d+)?(?!\w)', Number.Float),
72 (r'\b\d+[eEf][+-]?[0-9]+\b', Number.Float),
73 (r'\b\d+\b', Number.Integer),
74
75 # punctuation:
76 (r'\[|\]|\(|\)|\{|\}|:|@|\.|,', Punctuation),
77 (r'=|:|;', Punctuation),
78
79 # quote can be transpose, instead of string:
80 # (not great, but handles common cases...)
81 (r'(?<=[\w)\].])\'+', Operator),
82
83 (r'"(""|[^"])*"', String),
84
85 (r'(?<![\w)\].])\'', String, 'string'),
86 (r'[a-zA-Z_]\w*', Name),
87 (r'\s+', Whitespace),
88 (r'.', Text),
89 ],
90 'root': [
91 # line starting with '!' is sent as a system command. not sure what
92 # label to use...
93 (r'^!.*', String.Other),
94 (r'%\{\s*\n', Comment.Multiline, 'blockcomment'),
95 (r'%.*$', Comment),
96 (r'(\s*^\s*)(function)\b', bygroups(Whitespace, Keyword), 'deffunc'),
97 (r'(\s*^\s*)(properties)(\s+)(\()',
98 bygroups(Whitespace, Keyword, Whitespace, Punctuation),
99 ('defprops', 'propattrs')),
100 (r'(\s*^\s*)(properties)\b',
101 bygroups(Whitespace, Keyword), 'defprops'),
102
103 # from 'iskeyword' on version 9.4 (R2018a):
104 # Check that there is no preceding dot, as keywords are valid field
105 # names.
106 (words(('break', 'case', 'catch', 'classdef', 'continue',
107 'dynamicprops', 'else', 'elseif', 'end', 'for', 'function',
108 'global', 'if', 'methods', 'otherwise', 'parfor',
109 'persistent', 'return', 'spmd', 'switch',
110 'try', 'while'),
111 prefix=r'(?<!\.)(\s*)(', suffix=r')\b'),
112 bygroups(Whitespace, Keyword)),
113
114 (
115 words(
116 [
117 # See https://mathworks.com/help/matlab/referencelist.html
118 # Below data from 2021-02-10T18:24:08Z
119 # for Matlab release R2020b
120 "BeginInvoke",
121 "COM",
122 "Combine",
123 "CombinedDatastore",
124 "EndInvoke",
125 "Execute",
126 "FactoryGroup",
127 "FactorySetting",
128 "Feval",
129 "FunctionTestCase",
130 "GetCharArray",
131 "GetFullMatrix",
132 "GetVariable",
133 "GetWorkspaceData",
134 "GraphPlot",
135 "H5.close",
136 "H5.garbage_collect",
137 "H5.get_libversion",
138 "H5.open",
139 "H5.set_free_list_limits",
140 "H5A.close",
141 "H5A.create",
142 "H5A.delete",
143 "H5A.get_info",
144 "H5A.get_name",
145 "H5A.get_space",
146 "H5A.get_type",
147 "H5A.iterate",
148 "H5A.open",
149 "H5A.open_by_idx",
150 "H5A.open_by_name",
151 "H5A.read",
152 "H5A.write",
153 "H5D.close",
154 "H5D.create",
155 "H5D.get_access_plist",
156 "H5D.get_create_plist",
157 "H5D.get_offset",
158 "H5D.get_space",
159 "H5D.get_space_status",
160 "H5D.get_storage_size",
161 "H5D.get_type",
162 "H5D.open",
163 "H5D.read",
164 "H5D.set_extent",
165 "H5D.vlen_get_buf_size",
166 "H5D.write",
167 "H5DS.attach_scale",
168 "H5DS.detach_scale",
169 "H5DS.get_label",
170 "H5DS.get_num_scales",
171 "H5DS.get_scale_name",
172 "H5DS.is_scale",
173 "H5DS.iterate_scales",
174 "H5DS.set_label",
175 "H5DS.set_scale",
176 "H5E.clear",
177 "H5E.get_major",
178 "H5E.get_minor",
179 "H5E.walk",
180 "H5F.close",
181 "H5F.create",
182 "H5F.flush",
183 "H5F.get_access_plist",
184 "H5F.get_create_plist",
185 "H5F.get_filesize",
186 "H5F.get_freespace",
187 "H5F.get_info",
188 "H5F.get_mdc_config",
189 "H5F.get_mdc_hit_rate",
190 "H5F.get_mdc_size",
191 "H5F.get_name",
192 "H5F.get_obj_count",
193 "H5F.get_obj_ids",
194 "H5F.is_hdf5",
195 "H5F.mount",
196 "H5F.open",
197 "H5F.reopen",
198 "H5F.set_mdc_config",
199 "H5F.unmount",
200 "H5G.close",
201 "H5G.create",
202 "H5G.get_info",
203 "H5G.open",
204 "H5I.dec_ref",
205 "H5I.get_file_id",
206 "H5I.get_name",
207 "H5I.get_ref",
208 "H5I.get_type",
209 "H5I.inc_ref",
210 "H5I.is_valid",
211 "H5L.copy",
212 "H5L.create_external",
213 "H5L.create_hard",
214 "H5L.create_soft",
215 "H5L.delete",
216 "H5L.exists",
217 "H5L.get_info",
218 "H5L.get_name_by_idx",
219 "H5L.get_val",
220 "H5L.iterate",
221 "H5L.iterate_by_name",
222 "H5L.move",
223 "H5L.visit",
224 "H5L.visit_by_name",
225 "H5ML.compare_values",
226 "H5ML.get_constant_names",
227 "H5ML.get_constant_value",
228 "H5ML.get_function_names",
229 "H5ML.get_mem_datatype",
230 "H5O.close",
231 "H5O.copy",
232 "H5O.get_comment",
233 "H5O.get_comment_by_name",
234 "H5O.get_info",
235 "H5O.link",
236 "H5O.open",
237 "H5O.open_by_idx",
238 "H5O.set_comment",
239 "H5O.set_comment_by_name",
240 "H5O.visit",
241 "H5O.visit_by_name",
242 "H5P.all_filters_avail",
243 "H5P.close",
244 "H5P.close_class",
245 "H5P.copy",
246 "H5P.create",
247 "H5P.equal",
248 "H5P.exist",
249 "H5P.fill_value_defined",
250 "H5P.get",
251 "H5P.get_alignment",
252 "H5P.get_alloc_time",
253 "H5P.get_attr_creation_order",
254 "H5P.get_attr_phase_change",
255 "H5P.get_btree_ratios",
256 "H5P.get_char_encoding",
257 "H5P.get_chunk",
258 "H5P.get_chunk_cache",
259 "H5P.get_class",
260 "H5P.get_class_name",
261 "H5P.get_class_parent",
262 "H5P.get_copy_object",
263 "H5P.get_create_intermediate_group",
264 "H5P.get_driver",
265 "H5P.get_edc_check",
266 "H5P.get_external",
267 "H5P.get_external_count",
268 "H5P.get_family_offset",
269 "H5P.get_fapl_core",
270 "H5P.get_fapl_family",
271 "H5P.get_fapl_multi",
272 "H5P.get_fclose_degree",
273 "H5P.get_fill_time",
274 "H5P.get_fill_value",
275 "H5P.get_filter",
276 "H5P.get_filter_by_id",
277 "H5P.get_gc_references",
278 "H5P.get_hyper_vector_size",
279 "H5P.get_istore_k",
280 "H5P.get_layout",
281 "H5P.get_libver_bounds",
282 "H5P.get_link_creation_order",
283 "H5P.get_link_phase_change",
284 "H5P.get_mdc_config",
285 "H5P.get_meta_block_size",
286 "H5P.get_multi_type",
287 "H5P.get_nfilters",
288 "H5P.get_nprops",
289 "H5P.get_sieve_buf_size",
290 "H5P.get_size",
291 "H5P.get_sizes",
292 "H5P.get_small_data_block_size",
293 "H5P.get_sym_k",
294 "H5P.get_userblock",
295 "H5P.get_version",
296 "H5P.isa_class",
297 "H5P.iterate",
298 "H5P.modify_filter",
299 "H5P.remove_filter",
300 "H5P.set",
301 "H5P.set_alignment",
302 "H5P.set_alloc_time",
303 "H5P.set_attr_creation_order",
304 "H5P.set_attr_phase_change",
305 "H5P.set_btree_ratios",
306 "H5P.set_char_encoding",
307 "H5P.set_chunk",
308 "H5P.set_chunk_cache",
309 "H5P.set_copy_object",
310 "H5P.set_create_intermediate_group",
311 "H5P.set_deflate",
312 "H5P.set_edc_check",
313 "H5P.set_external",
314 "H5P.set_family_offset",
315 "H5P.set_fapl_core",
316 "H5P.set_fapl_family",
317 "H5P.set_fapl_log",
318 "H5P.set_fapl_multi",
319 "H5P.set_fapl_sec2",
320 "H5P.set_fapl_split",
321 "H5P.set_fapl_stdio",
322 "H5P.set_fclose_degree",
323 "H5P.set_fill_time",
324 "H5P.set_fill_value",
325 "H5P.set_filter",
326 "H5P.set_fletcher32",
327 "H5P.set_gc_references",
328 "H5P.set_hyper_vector_size",
329 "H5P.set_istore_k",
330 "H5P.set_layout",
331 "H5P.set_libver_bounds",
332 "H5P.set_link_creation_order",
333 "H5P.set_link_phase_change",
334 "H5P.set_mdc_config",
335 "H5P.set_meta_block_size",
336 "H5P.set_multi_type",
337 "H5P.set_nbit",
338 "H5P.set_scaleoffset",
339 "H5P.set_shuffle",
340 "H5P.set_sieve_buf_size",
341 "H5P.set_sizes",
342 "H5P.set_small_data_block_size",
343 "H5P.set_sym_k",
344 "H5P.set_userblock",
345 "H5R.create",
346 "H5R.dereference",
347 "H5R.get_name",
348 "H5R.get_obj_type",
349 "H5R.get_region",
350 "H5S.close",
351 "H5S.copy",
352 "H5S.create",
353 "H5S.create_simple",
354 "H5S.extent_copy",
355 "H5S.get_select_bounds",
356 "H5S.get_select_elem_npoints",
357 "H5S.get_select_elem_pointlist",
358 "H5S.get_select_hyper_blocklist",
359 "H5S.get_select_hyper_nblocks",
360 "H5S.get_select_npoints",
361 "H5S.get_select_type",
362 "H5S.get_simple_extent_dims",
363 "H5S.get_simple_extent_ndims",
364 "H5S.get_simple_extent_npoints",
365 "H5S.get_simple_extent_type",
366 "H5S.is_simple",
367 "H5S.offset_simple",
368 "H5S.select_all",
369 "H5S.select_elements",
370 "H5S.select_hyperslab",
371 "H5S.select_none",
372 "H5S.select_valid",
373 "H5S.set_extent_none",
374 "H5S.set_extent_simple",
375 "H5T.array_create",
376 "H5T.close",
377 "H5T.commit",
378 "H5T.committed",
379 "H5T.copy",
380 "H5T.create",
381 "H5T.detect_class",
382 "H5T.enum_create",
383 "H5T.enum_insert",
384 "H5T.enum_nameof",
385 "H5T.enum_valueof",
386 "H5T.equal",
387 "H5T.get_array_dims",
388 "H5T.get_array_ndims",
389 "H5T.get_class",
390 "H5T.get_create_plist",
391 "H5T.get_cset",
392 "H5T.get_ebias",
393 "H5T.get_fields",
394 "H5T.get_inpad",
395 "H5T.get_member_class",
396 "H5T.get_member_index",
397 "H5T.get_member_name",
398 "H5T.get_member_offset",
399 "H5T.get_member_type",
400 "H5T.get_member_value",
401 "H5T.get_native_type",
402 "H5T.get_nmembers",
403 "H5T.get_norm",
404 "H5T.get_offset",
405 "H5T.get_order",
406 "H5T.get_pad",
407 "H5T.get_precision",
408 "H5T.get_sign",
409 "H5T.get_size",
410 "H5T.get_strpad",
411 "H5T.get_super",
412 "H5T.get_tag",
413 "H5T.insert",
414 "H5T.is_variable_str",
415 "H5T.lock",
416 "H5T.open",
417 "H5T.pack",
418 "H5T.set_cset",
419 "H5T.set_ebias",
420 "H5T.set_fields",
421 "H5T.set_inpad",
422 "H5T.set_norm",
423 "H5T.set_offset",
424 "H5T.set_order",
425 "H5T.set_pad",
426 "H5T.set_precision",
427 "H5T.set_sign",
428 "H5T.set_size",
429 "H5T.set_strpad",
430 "H5T.set_tag",
431 "H5T.vlen_create",
432 "H5Z.filter_avail",
433 "H5Z.get_filter_info",
434 "Inf",
435 "KeyValueDatastore",
436 "KeyValueStore",
437 "MException",
438 "MException.last",
439 "MaximizeCommandWindow",
440 "MemoizedFunction",
441 "MinimizeCommandWindow",
442 "NET",
443 "NET.Assembly",
444 "NET.GenericClass",
445 "NET.NetException",
446 "NET.addAssembly",
447 "NET.convertArray",
448 "NET.createArray",
449 "NET.createGeneric",
450 "NET.disableAutoRelease",
451 "NET.enableAutoRelease",
452 "NET.invokeGenericMethod",
453 "NET.isNETSupported",
454 "NET.setStaticProperty",
455 "NaN",
456 "NaT",
457 "OperationResult",
458 "PutCharArray",
459 "PutFullMatrix",
460 "PutWorkspaceData",
461 "PythonEnvironment",
462 "Quit",
463 "RandStream",
464 "ReleaseCompatibilityException",
465 "ReleaseCompatibilityResults",
466 "Remove",
467 "RemoveAll",
468 "Setting",
469 "SettingsGroup",
470 "TallDatastore",
471 "Test",
472 "TestResult",
473 "Tiff",
474 "TransformedDatastore",
475 "ValueIterator",
476 "VersionResults",
477 "VideoReader",
478 "VideoWriter",
479 "abs",
480 "accumarray",
481 "acos",
482 "acosd",
483 "acosh",
484 "acot",
485 "acotd",
486 "acoth",
487 "acsc",
488 "acscd",
489 "acsch",
490 "actxGetRunningServer",
491 "actxserver",
492 "add",
493 "addCause",
494 "addCorrection",
495 "addFile",
496 "addFolderIncludingChildFiles",
497 "addGroup",
498 "addLabel",
499 "addPath",
500 "addReference",
501 "addSetting",
502 "addShortcut",
503 "addShutdownFile",
504 "addStartupFile",
505 "addStyle",
506 "addToolbarExplorationButtons",
507 "addboundary",
508 "addcats",
509 "addedge",
510 "addevent",
511 "addlistener",
512 "addmulti",
513 "addnode",
514 "addpath",
515 "addpoints",
516 "addpref",
517 "addprop",
518 "addsample",
519 "addsampletocollection",
520 "addtodate",
521 "addts",
522 "addvars",
523 "adjacency",
524 "airy",
525 "align",
526 "alim",
527 "all",
528 "allchild",
529 "alpha",
530 "alphaShape",
531 "alphaSpectrum",
532 "alphaTriangulation",
533 "alphamap",
534 "alphanumericBoundary",
535 "alphanumericsPattern",
536 "amd",
537 "analyzeCodeCompatibility",
538 "ancestor",
539 "angle",
540 "animatedline",
541 "annotation",
542 "ans",
543 "any",
544 "appdesigner",
545 "append",
546 "area",
547 "arguments",
548 "array2table",
549 "array2timetable",
550 "arrayDatastore",
551 "arrayfun",
552 "asFewOfPattern",
553 "asManyOfPattern",
554 "ascii",
555 "asec",
556 "asecd",
557 "asech",
558 "asin",
559 "asind",
560 "asinh",
561 "assert",
562 "assignin",
563 "atan",
564 "atan2",
565 "atan2d",
566 "atand",
567 "atanh",
568 "audiodevinfo",
569 "audiodevreset",
570 "audioinfo",
571 "audioplayer",
572 "audioread",
573 "audiorecorder",
574 "audiowrite",
575 "autumn",
576 "axes",
577 "axis",
578 "axtoolbar",
579 "axtoolbarbtn",
580 "balance",
581 "bandwidth",
582 "bar",
583 "bar3",
584 "bar3h",
585 "barh",
586 "barycentricToCartesian",
587 "base2dec",
588 "batchStartupOptionUsed",
589 "bctree",
590 "beep",
591 "bench",
592 "besselh",
593 "besseli",
594 "besselj",
595 "besselk",
596 "bessely",
597 "beta",
598 "betainc",
599 "betaincinv",
600 "betaln",
601 "between",
602 "bfsearch",
603 "bicg",
604 "bicgstab",
605 "bicgstabl",
606 "biconncomp",
607 "bin2dec",
608 "binary",
609 "binscatter",
610 "bitand",
611 "bitcmp",
612 "bitget",
613 "bitnot",
614 "bitor",
615 "bitset",
616 "bitshift",
617 "bitxor",
618 "blanks",
619 "ble",
620 "blelist",
621 "blkdiag",
622 "bluetooth",
623 "bluetoothlist",
624 "bone",
625 "boundary",
626 "boundaryFacets",
627 "boundaryshape",
628 "boundingbox",
629 "bounds",
630 "box",
631 "boxchart",
632 "brighten",
633 "brush",
634 "bsxfun",
635 "bubblechart",
636 "bubblechart3",
637 "bubblelegend",
638 "bubblelim",
639 "bubblesize",
640 "builddocsearchdb",
641 "builtin",
642 "bvp4c",
643 "bvp5c",
644 "bvpget",
645 "bvpinit",
646 "bvpset",
647 "bvpxtend",
648 "caldays",
649 "caldiff",
650 "calendar",
651 "calendarDuration",
652 "calllib",
653 "calmonths",
654 "calquarters",
655 "calweeks",
656 "calyears",
657 "camdolly",
658 "cameratoolbar",
659 "camlight",
660 "camlookat",
661 "camorbit",
662 "campan",
663 "campos",
664 "camproj",
665 "camroll",
666 "camtarget",
667 "camup",
668 "camva",
669 "camzoom",
670 "canUseGPU",
671 "canUseParallelPool",
672 "cart2pol",
673 "cart2sph",
674 "cartesianToBarycentric",
675 "caseInsensitivePattern",
676 "caseSensitivePattern",
677 "cast",
678 "cat",
679 "categorical",
680 "categories",
681 "caxis",
682 "cd",
683 "cdf2rdf",
684 "cdfepoch",
685 "cdfinfo",
686 "cdflib",
687 "cdfread",
688 "ceil",
689 "cell",
690 "cell2mat",
691 "cell2struct",
692 "cell2table",
693 "celldisp",
694 "cellfun",
695 "cellplot",
696 "cellstr",
697 "centrality",
698 "centroid",
699 "cgs",
700 "char",
701 "characterListPattern",
702 "characteristic",
703 "checkcode",
704 "chol",
705 "cholupdate",
706 "choose",
707 "chooseContextMenu",
708 "circshift",
709 "circumcenter",
710 "cla",
711 "clabel",
712 "class",
713 "classUnderlying",
714 "clc",
715 "clear",
716 "clearAllMemoizedCaches",
717 "clearPersonalValue",
718 "clearTemporaryValue",
719 "clearpoints",
720 "clearvars",
721 "clf",
722 "clibArray",
723 "clibConvertArray",
724 "clibIsNull",
725 "clibIsReadOnly",
726 "clibRelease",
727 "clibgen.buildInterface",
728 "clibgen.generateLibraryDefinition",
729 "clipboard",
730 "clock",
731 "clone",
732 "close",
733 "closeFile",
734 "closereq",
735 "cmap2gray",
736 "cmpermute",
737 "cmunique",
738 "codeCompatibilityReport",
739 "colamd",
740 "collapse",
741 "colon",
742 "colorbar",
743 "colorcube",
744 "colormap",
745 "colororder",
746 "colperm",
747 "com.mathworks.engine.MatlabEngine",
748 "com.mathworks.matlab.types.CellStr",
749 "com.mathworks.matlab.types.Complex",
750 "com.mathworks.matlab.types.HandleObject",
751 "com.mathworks.matlab.types.Struct",
752 "combine",
753 "comet",
754 "comet3",
755 "compan",
756 "compass",
757 "complex",
758 "compose",
759 "computer",
760 "comserver",
761 "cond",
762 "condeig",
763 "condensation",
764 "condest",
765 "coneplot",
766 "configureCallback",
767 "configureTerminator",
768 "conj",
769 "conncomp",
770 "containers.Map",
771 "contains",
772 "containsrange",
773 "contour",
774 "contour3",
775 "contourc",
776 "contourf",
777 "contourslice",
778 "contrast",
779 "conv",
780 "conv2",
781 "convertCharsToStrings",
782 "convertContainedStringsToChars",
783 "convertStringsToChars",
784 "convertTo",
785 "convertvars",
786 "convexHull",
787 "convhull",
788 "convhulln",
789 "convn",
790 "cool",
791 "copper",
792 "copyHDU",
793 "copyfile",
794 "copygraphics",
795 "copyobj",
796 "corrcoef",
797 "cos",
798 "cosd",
799 "cosh",
800 "cospi",
801 "cot",
802 "cotd",
803 "coth",
804 "count",
805 "countcats",
806 "cov",
807 "cplxpair",
808 "cputime",
809 "createCategory",
810 "createFile",
811 "createImg",
812 "createLabel",
813 "createTbl",
814 "criticalAlpha",
815 "cross",
816 "csc",
817 "cscd",
818 "csch",
819 "ctranspose",
820 "cummax",
821 "cummin",
822 "cumprod",
823 "cumsum",
824 "cumtrapz",
825 "curl",
826 "currentProject",
827 "cylinder",
828 "daspect",
829 "dataTipInteraction",
830 "dataTipTextRow",
831 "datacursormode",
832 "datastore",
833 "datatip",
834 "date",
835 "datenum",
836 "dateshift",
837 "datestr",
838 "datetick",
839 "datetime",
840 "datevec",
841 "day",
842 "days",
843 "dbclear",
844 "dbcont",
845 "dbdown",
846 "dbmex",
847 "dbquit",
848 "dbstack",
849 "dbstatus",
850 "dbstep",
851 "dbstop",
852 "dbtype",
853 "dbup",
854 "dde23",
855 "ddeget",
856 "ddensd",
857 "ddesd",
858 "ddeset",
859 "deblank",
860 "dec2base",
861 "dec2bin",
862 "dec2hex",
863 "decic",
864 "decomposition",
865 "deconv",
866 "deg2rad",
867 "degree",
868 "del2",
869 "delaunay",
870 "delaunayTriangulation",
871 "delaunayn",
872 "delete",
873 "deleteCol",
874 "deleteFile",
875 "deleteHDU",
876 "deleteKey",
877 "deleteRecord",
878 "deleteRows",
879 "delevent",
880 "delimitedTextImportOptions",
881 "delsample",
882 "delsamplefromcollection",
883 "demo",
884 "descriptor",
885 "det",
886 "details",
887 "detectImportOptions",
888 "detrend",
889 "deval",
890 "dfsearch",
891 "diag",
892 "dialog",
893 "diary",
894 "diff",
895 "diffuse",
896 "digitBoundary",
897 "digitsPattern",
898 "digraph",
899 "dir",
900 "disableDefaultInteractivity",
901 "discretize",
902 "disp",
903 "display",
904 "dissect",
905 "distances",
906 "dither",
907 "divergence",
908 "dmperm",
909 "doc",
910 "docsearch",
911 "dos",
912 "dot",
913 "double",
914 "drag",
915 "dragrect",
916 "drawnow",
917 "dsearchn",
918 "duration",
919 "dynamicprops",
920 "echo",
921 "echodemo",
922 "echotcpip",
923 "edgeAttachments",
924 "edgecount",
925 "edges",
926 "edit",
927 "eig",
928 "eigs",
929 "ellipj",
930 "ellipke",
931 "ellipsoid",
932 "empty",
933 "enableDefaultInteractivity",
934 "enableLegacyExplorationModes",
935 "enableNETfromNetworkDrive",
936 "enableservice",
937 "endsWith",
938 "enumeration",
939 "eomday",
940 "eps",
941 "eq",
942 "equilibrate",
943 "erase",
944 "eraseBetween",
945 "erf",
946 "erfc",
947 "erfcinv",
948 "erfcx",
949 "erfinv",
950 "error",
951 "errorbar",
952 "errordlg",
953 "etime",
954 "etree",
955 "etreeplot",
956 "eval",
957 "evalc",
958 "evalin",
959 "event.ClassInstanceEvent",
960 "event.DynamicPropertyEvent",
961 "event.EventData",
962 "event.PropertyEvent",
963 "event.hasListener",
964 "event.listener",
965 "event.proplistener",
966 "eventlisteners",
967 "events",
968 "exceltime",
969 "exist",
970 "exit",
971 "exp",
972 "expand",
973 "expint",
974 "expm",
975 "expm1",
976 "export",
977 "export2wsdlg",
978 "exportapp",
979 "exportgraphics",
980 "exportsetupdlg",
981 "extract",
982 "extractAfter",
983 "extractBefore",
984 "extractBetween",
985 "eye",
986 "ezpolar",
987 "faceNormal",
988 "factor",
989 "factorial",
990 "false",
991 "fclose",
992 "fcontour",
993 "feather",
994 "featureEdges",
995 "feof",
996 "ferror",
997 "feval",
998 "fewerbins",
999 "fft",
1000 "fft2",
1001 "fftn",
1002 "fftshift",
1003 "fftw",
1004 "fgetl",
1005 "fgets",
1006 "fieldnames",
1007 "figure",
1008 "figurepalette",
1009 "fileDatastore",
1010 "fileMode",
1011 "fileName",
1012 "fileattrib",
1013 "filemarker",
1014 "fileparts",
1015 "fileread",
1016 "filesep",
1017 "fill",
1018 "fill3",
1019 "fillmissing",
1020 "filloutliers",
1021 "filter",
1022 "filter2",
1023 "fimplicit",
1024 "fimplicit3",
1025 "find",
1026 "findCategory",
1027 "findEvent",
1028 "findFile",
1029 "findLabel",
1030 "findall",
1031 "findedge",
1032 "findfigs",
1033 "findgroups",
1034 "findnode",
1035 "findobj",
1036 "findprop",
1037 "finish",
1038 "fitsdisp",
1039 "fitsinfo",
1040 "fitsread",
1041 "fitswrite",
1042 "fix",
1043 "fixedWidthImportOptions",
1044 "flag",
1045 "flintmax",
1046 "flip",
1047 "flipedge",
1048 "fliplr",
1049 "flipud",
1050 "floor",
1051 "flow",
1052 "flush",
1053 "fmesh",
1054 "fminbnd",
1055 "fminsearch",
1056 "fopen",
1057 "format",
1058 "fplot",
1059 "fplot3",
1060 "fprintf",
1061 "frame2im",
1062 "fread",
1063 "freeBoundary",
1064 "freqspace",
1065 "frewind",
1066 "fscanf",
1067 "fseek",
1068 "fsurf",
1069 "ftell",
1070 "ftp",
1071 "full",
1072 "fullfile",
1073 "func2str",
1074 "function_handle",
1075 "functions",
1076 "functiontests",
1077 "funm",
1078 "fwrite",
1079 "fzero",
1080 "gallery",
1081 "gamma",
1082 "gammainc",
1083 "gammaincinv",
1084 "gammaln",
1085 "gather",
1086 "gca",
1087 "gcbf",
1088 "gcbo",
1089 "gcd",
1090 "gcf",
1091 "gcmr",
1092 "gco",
1093 "genpath",
1094 "geoaxes",
1095 "geobasemap",
1096 "geobubble",
1097 "geodensityplot",
1098 "geolimits",
1099 "geoplot",
1100 "geoscatter",
1101 "geotickformat",
1102 "get",
1103 "getAColParms",
1104 "getAxes",
1105 "getBColParms",
1106 "getColName",
1107 "getColType",
1108 "getColorbar",
1109 "getConstantValue",
1110 "getEqColType",
1111 "getFileFormats",
1112 "getHDUnum",
1113 "getHDUtype",
1114 "getHdrSpace",
1115 "getImgSize",
1116 "getImgType",
1117 "getLayout",
1118 "getLegend",
1119 "getMockHistory",
1120 "getNumCols",
1121 "getNumHDUs",
1122 "getNumInputs",
1123 "getNumInputsImpl",
1124 "getNumOutputs",
1125 "getNumOutputsImpl",
1126 "getNumRows",
1127 "getOpenFiles",
1128 "getProfiles",
1129 "getPropertyGroupsImpl",
1130 "getReport",
1131 "getTimeStr",
1132 "getVersion",
1133 "getabstime",
1134 "getappdata",
1135 "getaudiodata",
1136 "getdatasamples",
1137 "getdatasamplesize",
1138 "getenv",
1139 "getfield",
1140 "getframe",
1141 "getinterpmethod",
1142 "getnext",
1143 "getpinstatus",
1144 "getpixelposition",
1145 "getplayer",
1146 "getpoints",
1147 "getpref",
1148 "getqualitydesc",
1149 "getrangefromclass",
1150 "getsamples",
1151 "getsampleusingtime",
1152 "gettimeseriesnames",
1153 "gettsafteratevent",
1154 "gettsafterevent",
1155 "gettsatevent",
1156 "gettsbeforeatevent",
1157 "gettsbeforeevent",
1158 "gettsbetweenevents",
1159 "getvaropts",
1160 "ginput",
1161 "gmres",
1162 "gobjects",
1163 "gplot",
1164 "grabcode",
1165 "gradient",
1166 "graph",
1167 "gray",
1168 "grid",
1169 "griddata",
1170 "griddatan",
1171 "griddedInterpolant",
1172 "groot",
1173 "groupcounts",
1174 "groupfilter",
1175 "groupsummary",
1176 "grouptransform",
1177 "gsvd",
1178 "gtext",
1179 "guidata",
1180 "guide",
1181 "guihandles",
1182 "gunzip",
1183 "gzip",
1184 "h5create",
1185 "h5disp",
1186 "h5info",
1187 "h5read",
1188 "h5readatt",
1189 "h5write",
1190 "h5writeatt",
1191 "hadamard",
1192 "handle",
1193 "hankel",
1194 "hasFactoryValue",
1195 "hasFrame",
1196 "hasGroup",
1197 "hasPersonalValue",
1198 "hasSetting",
1199 "hasTemporaryValue",
1200 "hasdata",
1201 "hasnext",
1202 "hdfan",
1203 "hdfdf24",
1204 "hdfdfr8",
1205 "hdfh",
1206 "hdfhd",
1207 "hdfhe",
1208 "hdfhx",
1209 "hdfinfo",
1210 "hdfml",
1211 "hdfpt",
1212 "hdfread",
1213 "hdfv",
1214 "hdfvf",
1215 "hdfvh",
1216 "hdfvs",
1217 "head",
1218 "heatmap",
1219 "height",
1220 "help",
1221 "helpdlg",
1222 "hess",
1223 "hex2dec",
1224 "hex2num",
1225 "hgexport",
1226 "hggroup",
1227 "hgtransform",
1228 "hidden",
1229 "highlight",
1230 "hilb",
1231 "histcounts",
1232 "histcounts2",
1233 "histogram",
1234 "histogram2",
1235 "hms",
1236 "hold",
1237 "holes",
1238 "home",
1239 "horzcat",
1240 "hot",
1241 "hour",
1242 "hours",
1243 "hover",
1244 "hsv",
1245 "hsv2rgb",
1246 "hypot",
1247 "i",
1248 "ichol",
1249 "idealfilter",
1250 "idivide",
1251 "ifft",
1252 "ifft2",
1253 "ifftn",
1254 "ifftshift",
1255 "ilu",
1256 "im2double",
1257 "im2frame",
1258 "im2gray",
1259 "im2java",
1260 "imag",
1261 "image",
1262 "imageDatastore",
1263 "imagesc",
1264 "imapprox",
1265 "imfinfo",
1266 "imformats",
1267 "imgCompress",
1268 "import",
1269 "importdata",
1270 "imread",
1271 "imresize",
1272 "imshow",
1273 "imtile",
1274 "imwrite",
1275 "inShape",
1276 "incenter",
1277 "incidence",
1278 "ind2rgb",
1279 "ind2sub",
1280 "indegree",
1281 "inedges",
1282 "infoImpl",
1283 "inmem",
1284 "inner2outer",
1285 "innerjoin",
1286 "inpolygon",
1287 "input",
1288 "inputParser",
1289 "inputdlg",
1290 "inputname",
1291 "insertATbl",
1292 "insertAfter",
1293 "insertBTbl",
1294 "insertBefore",
1295 "insertCol",
1296 "insertImg",
1297 "insertRows",
1298 "int16",
1299 "int2str",
1300 "int32",
1301 "int64",
1302 "int8",
1303 "integral",
1304 "integral2",
1305 "integral3",
1306 "interp1",
1307 "interp2",
1308 "interp3",
1309 "interpft",
1310 "interpn",
1311 "interpstreamspeed",
1312 "intersect",
1313 "intmax",
1314 "intmin",
1315 "inv",
1316 "invhilb",
1317 "ipermute",
1318 "iqr",
1319 "isCompressedImg",
1320 "isConnected",
1321 "isDiscreteStateSpecificationMutableImpl",
1322 "isDone",
1323 "isDoneImpl",
1324 "isInactivePropertyImpl",
1325 "isInputComplexityMutableImpl",
1326 "isInputDataTypeMutableImpl",
1327 "isInputSizeMutableImpl",
1328 "isInterior",
1329 "isKey",
1330 "isLoaded",
1331 "isLocked",
1332 "isMATLABReleaseOlderThan",
1333 "isPartitionable",
1334 "isShuffleable",
1335 "isStringScalar",
1336 "isTunablePropertyDataTypeMutableImpl",
1337 "isUnderlyingType",
1338 "isa",
1339 "isaUnderlying",
1340 "isappdata",
1341 "isbanded",
1342 "isbetween",
1343 "iscalendarduration",
1344 "iscategorical",
1345 "iscategory",
1346 "iscell",
1347 "iscellstr",
1348 "ischange",
1349 "ischar",
1350 "iscolumn",
1351 "iscom",
1352 "isdag",
1353 "isdatetime",
1354 "isdiag",
1355 "isdst",
1356 "isduration",
1357 "isempty",
1358 "isenum",
1359 "isequal",
1360 "isequaln",
1361 "isevent",
1362 "isfield",
1363 "isfile",
1364 "isfinite",
1365 "isfloat",
1366 "isfolder",
1367 "isgraphics",
1368 "ishandle",
1369 "ishermitian",
1370 "ishold",
1371 "ishole",
1372 "isinf",
1373 "isinteger",
1374 "isinterface",
1375 "isinterior",
1376 "isisomorphic",
1377 "isjava",
1378 "iskeyword",
1379 "isletter",
1380 "islocalmax",
1381 "islocalmin",
1382 "islogical",
1383 "ismac",
1384 "ismatrix",
1385 "ismember",
1386 "ismembertol",
1387 "ismethod",
1388 "ismissing",
1389 "ismultigraph",
1390 "isnan",
1391 "isnat",
1392 "isnumeric",
1393 "isobject",
1394 "isocaps",
1395 "isocolors",
1396 "isomorphism",
1397 "isonormals",
1398 "isordinal",
1399 "isosurface",
1400 "isoutlier",
1401 "ispc",
1402 "isplaying",
1403 "ispref",
1404 "isprime",
1405 "isprop",
1406 "isprotected",
1407 "isreal",
1408 "isrecording",
1409 "isregular",
1410 "isrow",
1411 "isscalar",
1412 "issimplified",
1413 "issorted",
1414 "issortedrows",
1415 "isspace",
1416 "issparse",
1417 "isstring",
1418 "isstrprop",
1419 "isstruct",
1420 "isstudent",
1421 "issymmetric",
1422 "istable",
1423 "istall",
1424 "istimetable",
1425 "istril",
1426 "istriu",
1427 "isundefined",
1428 "isunix",
1429 "isvalid",
1430 "isvarname",
1431 "isvector",
1432 "isweekend",
1433 "j",
1434 "javaArray",
1435 "javaMethod",
1436 "javaMethodEDT",
1437 "javaObject",
1438 "javaObjectEDT",
1439 "javaaddpath",
1440 "javachk",
1441 "javaclasspath",
1442 "javarmpath",
1443 "jet",
1444 "join",
1445 "jsondecode",
1446 "jsonencode",
1447 "juliandate",
1448 "keyboard",
1449 "keys",
1450 "kron",
1451 "labeledge",
1452 "labelnode",
1453 "lag",
1454 "laplacian",
1455 "lastwarn",
1456 "layout",
1457 "lcm",
1458 "ldl",
1459 "leapseconds",
1460 "legend",
1461 "legendre",
1462 "length",
1463 "letterBoundary",
1464 "lettersPattern",
1465 "lib.pointer",
1466 "libfunctions",
1467 "libfunctionsview",
1468 "libisloaded",
1469 "libpointer",
1470 "libstruct",
1471 "license",
1472 "light",
1473 "lightangle",
1474 "lighting",
1475 "lin2mu",
1476 "line",
1477 "lineBoundary",
1478 "lines",
1479 "linkaxes",
1480 "linkdata",
1481 "linkprop",
1482 "linsolve",
1483 "linspace",
1484 "listModifiedFiles",
1485 "listRequiredFiles",
1486 "listdlg",
1487 "listener",
1488 "listfonts",
1489 "load",
1490 "loadObjectImpl",
1491 "loadlibrary",
1492 "loadobj",
1493 "localfunctions",
1494 "log",
1495 "log10",
1496 "log1p",
1497 "log2",
1498 "logical",
1499 "loglog",
1500 "logm",
1501 "logspace",
1502 "lookAheadBoundary",
1503 "lookBehindBoundary",
1504 "lookfor",
1505 "lower",
1506 "ls",
1507 "lscov",
1508 "lsqminnorm",
1509 "lsqnonneg",
1510 "lsqr",
1511 "lu",
1512 "magic",
1513 "makehgtform",
1514 "makima",
1515 "mapreduce",
1516 "mapreducer",
1517 "maskedPattern",
1518 "mat2cell",
1519 "mat2str",
1520 "matches",
1521 "matchpairs",
1522 "material",
1523 "matfile",
1524 "matlab.System",
1525 "matlab.addons.disableAddon",
1526 "matlab.addons.enableAddon",
1527 "matlab.addons.install",
1528 "matlab.addons.installedAddons",
1529 "matlab.addons.isAddonEnabled",
1530 "matlab.addons.toolbox.installToolbox",
1531 "matlab.addons.toolbox.installedToolboxes",
1532 "matlab.addons.toolbox.packageToolbox",
1533 "matlab.addons.toolbox.toolboxVersion",
1534 "matlab.addons.toolbox.uninstallToolbox",
1535 "matlab.addons.uninstall",
1536 "matlab.apputil.create",
1537 "matlab.apputil.getInstalledAppInfo",
1538 "matlab.apputil.install",
1539 "matlab.apputil.package",
1540 "matlab.apputil.run",
1541 "matlab.apputil.uninstall",
1542 "matlab.codetools.requiredFilesAndProducts",
1543 "matlab.engine.FutureResult",
1544 "matlab.engine.MatlabEngine",
1545 "matlab.engine.connect_matlab",
1546 "matlab.engine.engineName",
1547 "matlab.engine.find_matlab",
1548 "matlab.engine.isEngineShared",
1549 "matlab.engine.shareEngine",
1550 "matlab.engine.start_matlab",
1551 "matlab.exception.JavaException",
1552 "matlab.exception.PyException",
1553 "matlab.graphics.chartcontainer.ChartContainer",
1554 "matlab.graphics.chartcontainer.mixin.Colorbar",
1555 "matlab.graphics.chartcontainer.mixin.Legend",
1556 "matlab.io.Datastore",
1557 "matlab.io.datastore.BlockedFileSet",
1558 "matlab.io.datastore.DsFileReader",
1559 "matlab.io.datastore.DsFileSet",
1560 "matlab.io.datastore.FileSet",
1561 "matlab.io.datastore.FileWritable",
1562 "matlab.io.datastore.FoldersPropertyProvider",
1563 "matlab.io.datastore.HadoopLocationBased",
1564 "matlab.io.datastore.Partitionable",
1565 "matlab.io.datastore.Shuffleable",
1566 "matlab.io.hdf4.sd",
1567 "matlab.io.hdfeos.gd",
1568 "matlab.io.hdfeos.sw",
1569 "matlab.io.saveVariablesToScript",
1570 "matlab.lang.OnOffSwitchState",
1571 "matlab.lang.correction.AppendArgumentsCorrection",
1572 "matlab.lang.correction.ConvertToFunctionNotationCorrection",
1573 "matlab.lang.correction.ReplaceIdentifierCorrection",
1574 "matlab.lang.makeUniqueStrings",
1575 "matlab.lang.makeValidName",
1576 "matlab.mex.MexHost",
1577 "matlab.mixin.Copyable",
1578 "matlab.mixin.CustomDisplay",
1579 "matlab.mixin.Heterogeneous",
1580 "matlab.mixin.SetGet",
1581 "matlab.mixin.SetGetExactNames",
1582 "matlab.mixin.util.PropertyGroup",
1583 "matlab.mock.AnyArguments",
1584 "matlab.mock.InteractionHistory",
1585 "matlab.mock.InteractionHistory.forMock",
1586 "matlab.mock.MethodCallBehavior",
1587 "matlab.mock.PropertyBehavior",
1588 "matlab.mock.PropertyGetBehavior",
1589 "matlab.mock.PropertySetBehavior",
1590 "matlab.mock.TestCase",
1591 "matlab.mock.actions.AssignOutputs",
1592 "matlab.mock.actions.DoNothing",
1593 "matlab.mock.actions.Invoke",
1594 "matlab.mock.actions.ReturnStoredValue",
1595 "matlab.mock.actions.StoreValue",
1596 "matlab.mock.actions.ThrowException",
1597 "matlab.mock.constraints.Occurred",
1598 "matlab.mock.constraints.WasAccessed",
1599 "matlab.mock.constraints.WasCalled",
1600 "matlab.mock.constraints.WasSet",
1601 "matlab.net.ArrayFormat",
1602 "matlab.net.QueryParameter",
1603 "matlab.net.URI",
1604 "matlab.net.base64decode",
1605 "matlab.net.base64encode",
1606 "matlab.net.http.AuthInfo",
1607 "matlab.net.http.AuthenticationScheme",
1608 "matlab.net.http.Cookie",
1609 "matlab.net.http.CookieInfo",
1610 "matlab.net.http.Credentials",
1611 "matlab.net.http.Disposition",
1612 "matlab.net.http.HTTPException",
1613 "matlab.net.http.HTTPOptions",
1614 "matlab.net.http.HeaderField",
1615 "matlab.net.http.LogRecord",
1616 "matlab.net.http.MediaType",
1617 "matlab.net.http.Message",
1618 "matlab.net.http.MessageBody",
1619 "matlab.net.http.MessageType",
1620 "matlab.net.http.ProgressMonitor",
1621 "matlab.net.http.ProtocolVersion",
1622 "matlab.net.http.RequestLine",
1623 "matlab.net.http.RequestMessage",
1624 "matlab.net.http.RequestMethod",
1625 "matlab.net.http.ResponseMessage",
1626 "matlab.net.http.StartLine",
1627 "matlab.net.http.StatusClass",
1628 "matlab.net.http.StatusCode",
1629 "matlab.net.http.StatusLine",
1630 "matlab.net.http.field.AcceptField",
1631 "matlab.net.http.field.AuthenticateField",
1632 "matlab.net.http.field.AuthenticationInfoField",
1633 "matlab.net.http.field.AuthorizationField",
1634 "matlab.net.http.field.ContentDispositionField",
1635 "matlab.net.http.field.ContentLengthField",
1636 "matlab.net.http.field.ContentLocationField",
1637 "matlab.net.http.field.ContentTypeField",
1638 "matlab.net.http.field.CookieField",
1639 "matlab.net.http.field.DateField",
1640 "matlab.net.http.field.GenericField",
1641 "matlab.net.http.field.GenericParameterizedField",
1642 "matlab.net.http.field.HTTPDateField",
1643 "matlab.net.http.field.IntegerField",
1644 "matlab.net.http.field.LocationField",
1645 "matlab.net.http.field.MediaRangeField",
1646 "matlab.net.http.field.SetCookieField",
1647 "matlab.net.http.field.URIReferenceField",
1648 "matlab.net.http.io.BinaryConsumer",
1649 "matlab.net.http.io.ContentConsumer",
1650 "matlab.net.http.io.ContentProvider",
1651 "matlab.net.http.io.FileConsumer",
1652 "matlab.net.http.io.FileProvider",
1653 "matlab.net.http.io.FormProvider",
1654 "matlab.net.http.io.GenericConsumer",
1655 "matlab.net.http.io.GenericProvider",
1656 "matlab.net.http.io.ImageConsumer",
1657 "matlab.net.http.io.ImageProvider",
1658 "matlab.net.http.io.JSONConsumer",
1659 "matlab.net.http.io.JSONProvider",
1660 "matlab.net.http.io.MultipartConsumer",
1661 "matlab.net.http.io.MultipartFormProvider",
1662 "matlab.net.http.io.MultipartProvider",
1663 "matlab.net.http.io.StringConsumer",
1664 "matlab.net.http.io.StringProvider",
1665 "matlab.perftest.FixedTimeExperiment",
1666 "matlab.perftest.FrequentistTimeExperiment",
1667 "matlab.perftest.TestCase",
1668 "matlab.perftest.TimeExperiment",
1669 "matlab.perftest.TimeResult",
1670 "matlab.project.Project",
1671 "matlab.project.convertDefinitionFiles",
1672 "matlab.project.createProject",
1673 "matlab.project.deleteProject",
1674 "matlab.project.loadProject",
1675 "matlab.project.rootProject",
1676 "matlab.settings.FactoryGroup.createToolboxGroup",
1677 "matlab.settings.SettingsFileUpgrader",
1678 "matlab.settings.loadSettingsCompatibilityResults",
1679 "matlab.settings.mustBeIntegerScalar",
1680 "matlab.settings.mustBeLogicalScalar",
1681 "matlab.settings.mustBeNumericScalar",
1682 "matlab.settings.mustBeStringScalar",
1683 "matlab.settings.reloadFactoryFile",
1684 "matlab.system.mixin.FiniteSource",
1685 "matlab.tall.blockMovingWindow",
1686 "matlab.tall.movingWindow",
1687 "matlab.tall.reduce",
1688 "matlab.tall.transform",
1689 "matlab.test.behavior.Missing",
1690 "matlab.ui.componentcontainer.ComponentContainer",
1691 "matlab.uitest.TestCase",
1692 "matlab.uitest.TestCase.forInteractiveUse",
1693 "matlab.uitest.unlock",
1694 "matlab.unittest.Test",
1695 "matlab.unittest.TestCase",
1696 "matlab.unittest.TestResult",
1697 "matlab.unittest.TestRunner",
1698 "matlab.unittest.TestSuite",
1699 "matlab.unittest.constraints.BooleanConstraint",
1700 "matlab.unittest.constraints.Constraint",
1701 "matlab.unittest.constraints.Tolerance",
1702 "matlab.unittest.diagnostics.ConstraintDiagnostic",
1703 "matlab.unittest.diagnostics.Diagnostic",
1704 "matlab.unittest.fixtures.Fixture",
1705 "matlab.unittest.measurement.DefaultMeasurementResult",
1706 "matlab.unittest.measurement.MeasurementResult",
1707 "matlab.unittest.measurement.chart.ComparisonPlot",
1708 "matlab.unittest.plugins.OutputStream",
1709 "matlab.unittest.plugins.Parallelizable",
1710 "matlab.unittest.plugins.QualifyingPlugin",
1711 "matlab.unittest.plugins.TestRunnerPlugin",
1712 "matlab.wsdl.createWSDLClient",
1713 "matlab.wsdl.setWSDLToolPath",
1714 "matlabRelease",
1715 "matlabrc",
1716 "matlabroot",
1717 "max",
1718 "maxflow",
1719 "maxk",
1720 "mean",
1721 "median",
1722 "memmapfile",
1723 "memoize",
1724 "memory",
1725 "mergecats",
1726 "mergevars",
1727 "mesh",
1728 "meshc",
1729 "meshgrid",
1730 "meshz",
1731 "meta.ArrayDimension",
1732 "meta.DynamicProperty",
1733 "meta.EnumeratedValue",
1734 "meta.FixedDimension",
1735 "meta.MetaData",
1736 "meta.UnrestrictedDimension",
1737 "meta.Validation",
1738 "meta.abstractDetails",
1739 "meta.class",
1740 "meta.class.fromName",
1741 "meta.event",
1742 "meta.method",
1743 "meta.package",
1744 "meta.package.fromName",
1745 "meta.package.getAllPackages",
1746 "meta.property",
1747 "metaclass",
1748 "methods",
1749 "methodsview",
1750 "mex",
1751 "mexext",
1752 "mexhost",
1753 "mfilename",
1754 "mget",
1755 "milliseconds",
1756 "min",
1757 "mink",
1758 "minres",
1759 "minspantree",
1760 "minute",
1761 "minutes",
1762 "mislocked",
1763 "missing",
1764 "mkdir",
1765 "mkpp",
1766 "mldivide",
1767 "mlintrpt",
1768 "mlock",
1769 "mmfileinfo",
1770 "mod",
1771 "mode",
1772 "month",
1773 "more",
1774 "morebins",
1775 "movAbsHDU",
1776 "movNamHDU",
1777 "movRelHDU",
1778 "move",
1779 "movefile",
1780 "movegui",
1781 "movevars",
1782 "movie",
1783 "movmad",
1784 "movmax",
1785 "movmean",
1786 "movmedian",
1787 "movmin",
1788 "movprod",
1789 "movstd",
1790 "movsum",
1791 "movvar",
1792 "mpower",
1793 "mput",
1794 "mrdivide",
1795 "msgbox",
1796 "mtimes",
1797 "mu2lin",
1798 "multibandread",
1799 "multibandwrite",
1800 "munlock",
1801 "mustBeA",
1802 "mustBeFile",
1803 "mustBeFinite",
1804 "mustBeFloat",
1805 "mustBeFolder",
1806 "mustBeGreaterThan",
1807 "mustBeGreaterThanOrEqual",
1808 "mustBeInRange",
1809 "mustBeInteger",
1810 "mustBeLessThan",
1811 "mustBeLessThanOrEqual",
1812 "mustBeMember",
1813 "mustBeNegative",
1814 "mustBeNonNan",
1815 "mustBeNonempty",
1816 "mustBeNonmissing",
1817 "mustBeNonnegative",
1818 "mustBeNonpositive",
1819 "mustBeNonsparse",
1820 "mustBeNonzero",
1821 "mustBeNonzeroLengthText",
1822 "mustBeNumeric",
1823 "mustBeNumericOrLogical",
1824 "mustBePositive",
1825 "mustBeReal",
1826 "mustBeScalarOrEmpty",
1827 "mustBeText",
1828 "mustBeTextScalar",
1829 "mustBeUnderlyingType",
1830 "mustBeValidVariableName",
1831 "mustBeVector",
1832 "namedPattern",
1833 "namedargs2cell",
1834 "namelengthmax",
1835 "nargin",
1836 "narginchk",
1837 "nargout",
1838 "nargoutchk",
1839 "native2unicode",
1840 "nccreate",
1841 "ncdisp",
1842 "nchoosek",
1843 "ncinfo",
1844 "ncread",
1845 "ncreadatt",
1846 "ncwrite",
1847 "ncwriteatt",
1848 "ncwriteschema",
1849 "ndgrid",
1850 "ndims",
1851 "nearest",
1852 "nearestNeighbor",
1853 "nearestvertex",
1854 "neighbors",
1855 "netcdf.abort",
1856 "netcdf.close",
1857 "netcdf.copyAtt",
1858 "netcdf.create",
1859 "netcdf.defDim",
1860 "netcdf.defGrp",
1861 "netcdf.defVar",
1862 "netcdf.defVarChunking",
1863 "netcdf.defVarDeflate",
1864 "netcdf.defVarFill",
1865 "netcdf.defVarFletcher32",
1866 "netcdf.delAtt",
1867 "netcdf.endDef",
1868 "netcdf.getAtt",
1869 "netcdf.getChunkCache",
1870 "netcdf.getConstant",
1871 "netcdf.getConstantNames",
1872 "netcdf.getVar",
1873 "netcdf.inq",
1874 "netcdf.inqAtt",
1875 "netcdf.inqAttID",
1876 "netcdf.inqAttName",
1877 "netcdf.inqDim",
1878 "netcdf.inqDimID",
1879 "netcdf.inqDimIDs",
1880 "netcdf.inqFormat",
1881 "netcdf.inqGrpName",
1882 "netcdf.inqGrpNameFull",
1883 "netcdf.inqGrpParent",
1884 "netcdf.inqGrps",
1885 "netcdf.inqLibVers",
1886 "netcdf.inqNcid",
1887 "netcdf.inqUnlimDims",
1888 "netcdf.inqVar",
1889 "netcdf.inqVarChunking",
1890 "netcdf.inqVarDeflate",
1891 "netcdf.inqVarFill",
1892 "netcdf.inqVarFletcher32",
1893 "netcdf.inqVarID",
1894 "netcdf.inqVarIDs",
1895 "netcdf.open",
1896 "netcdf.putAtt",
1897 "netcdf.putVar",
1898 "netcdf.reDef",
1899 "netcdf.renameAtt",
1900 "netcdf.renameDim",
1901 "netcdf.renameVar",
1902 "netcdf.setChunkCache",
1903 "netcdf.setDefaultFormat",
1904 "netcdf.setFill",
1905 "netcdf.sync",
1906 "newline",
1907 "newplot",
1908 "nextpow2",
1909 "nexttile",
1910 "nnz",
1911 "nonzeros",
1912 "norm",
1913 "normalize",
1914 "normest",
1915 "notify",
1916 "now",
1917 "nsidedpoly",
1918 "nthroot",
1919 "nufft",
1920 "nufftn",
1921 "null",
1922 "num2cell",
1923 "num2hex",
1924 "num2ruler",
1925 "num2str",
1926 "numArgumentsFromSubscript",
1927 "numRegions",
1928 "numboundaries",
1929 "numedges",
1930 "numel",
1931 "numnodes",
1932 "numpartitions",
1933 "numsides",
1934 "nzmax",
1935 "ode113",
1936 "ode15i",
1937 "ode15s",
1938 "ode23",
1939 "ode23s",
1940 "ode23t",
1941 "ode23tb",
1942 "ode45",
1943 "odeget",
1944 "odeset",
1945 "odextend",
1946 "onCleanup",
1947 "ones",
1948 "open",
1949 "openDiskFile",
1950 "openFile",
1951 "openProject",
1952 "openfig",
1953 "opengl",
1954 "openvar",
1955 "optimget",
1956 "optimset",
1957 "optionalPattern",
1958 "ordeig",
1959 "orderfields",
1960 "ordqz",
1961 "ordschur",
1962 "orient",
1963 "orth",
1964 "outdegree",
1965 "outedges",
1966 "outerjoin",
1967 "overlaps",
1968 "overlapsrange",
1969 "pack",
1970 "pad",
1971 "padecoef",
1972 "pagectranspose",
1973 "pagemtimes",
1974 "pagetranspose",
1975 "pan",
1976 "panInteraction",
1977 "parallelplot",
1978 "pareto",
1979 "parquetDatastore",
1980 "parquetinfo",
1981 "parquetread",
1982 "parquetwrite",
1983 "partition",
1984 "parula",
1985 "pascal",
1986 "patch",
1987 "path",
1988 "pathsep",
1989 "pathtool",
1990 "pattern",
1991 "pause",
1992 "pbaspect",
1993 "pcg",
1994 "pchip",
1995 "pcode",
1996 "pcolor",
1997 "pdepe",
1998 "pdeval",
1999 "peaks",
2000 "perimeter",
2001 "perl",
2002 "perms",
2003 "permute",
2004 "pi",
2005 "pie",
2006 "pie3",
2007 "pink",
2008 "pinv",
2009 "planerot",
2010 "play",
2011 "playblocking",
2012 "plot",
2013 "plot3",
2014 "plotbrowser",
2015 "plotedit",
2016 "plotmatrix",
2017 "plottools",
2018 "plus",
2019 "pointLocation",
2020 "pol2cart",
2021 "polaraxes",
2022 "polarbubblechart",
2023 "polarhistogram",
2024 "polarplot",
2025 "polarscatter",
2026 "poly",
2027 "polyarea",
2028 "polybuffer",
2029 "polyder",
2030 "polyeig",
2031 "polyfit",
2032 "polyint",
2033 "polyshape",
2034 "polyval",
2035 "polyvalm",
2036 "posixtime",
2037 "possessivePattern",
2038 "pow2",
2039 "ppval",
2040 "predecessors",
2041 "prefdir",
2042 "preferences",
2043 "press",
2044 "preview",
2045 "primes",
2046 "print",
2047 "printdlg",
2048 "printopt",
2049 "printpreview",
2050 "prism",
2051 "processInputSpecificationChangeImpl",
2052 "processTunedPropertiesImpl",
2053 "prod",
2054 "profile",
2055 "propedit",
2056 "properties",
2057 "propertyeditor",
2058 "psi",
2059 "publish",
2060 "pwd",
2061 "pyargs",
2062 "pyenv",
2063 "qmr",
2064 "qr",
2065 "qrdelete",
2066 "qrinsert",
2067 "qrupdate",
2068 "quad2d",
2069 "quadgk",
2070 "quarter",
2071 "questdlg",
2072 "quit",
2073 "quiver",
2074 "quiver3",
2075 "qz",
2076 "rad2deg",
2077 "rand",
2078 "randi",
2079 "randn",
2080 "randperm",
2081 "rank",
2082 "rat",
2083 "rats",
2084 "rbbox",
2085 "rcond",
2086 "read",
2087 "readATblHdr",
2088 "readBTblHdr",
2089 "readCard",
2090 "readCol",
2091 "readFrame",
2092 "readImg",
2093 "readKey",
2094 "readKeyCmplx",
2095 "readKeyDbl",
2096 "readKeyLongLong",
2097 "readKeyLongStr",
2098 "readKeyUnit",
2099 "readRecord",
2100 "readall",
2101 "readcell",
2102 "readline",
2103 "readlines",
2104 "readmatrix",
2105 "readstruct",
2106 "readtable",
2107 "readtimetable",
2108 "readvars",
2109 "real",
2110 "reallog",
2111 "realmax",
2112 "realmin",
2113 "realpow",
2114 "realsqrt",
2115 "record",
2116 "recordblocking",
2117 "rectangle",
2118 "rectint",
2119 "recycle",
2120 "reducepatch",
2121 "reducevolume",
2122 "refresh",
2123 "refreshSourceControl",
2124 "refreshdata",
2125 "regexp",
2126 "regexpPattern",
2127 "regexpi",
2128 "regexprep",
2129 "regexptranslate",
2130 "regionZoomInteraction",
2131 "regions",
2132 "registerevent",
2133 "regmatlabserver",
2134 "rehash",
2135 "relationaloperators",
2136 "release",
2137 "releaseImpl",
2138 "reload",
2139 "rem",
2140 "remove",
2141 "removeCategory",
2142 "removeFile",
2143 "removeGroup",
2144 "removeLabel",
2145 "removePath",
2146 "removeReference",
2147 "removeSetting",
2148 "removeShortcut",
2149 "removeShutdownFile",
2150 "removeStartupFile",
2151 "removeStyle",
2152 "removeToolbarExplorationButtons",
2153 "removecats",
2154 "removets",
2155 "removevars",
2156 "rename",
2157 "renamecats",
2158 "renamevars",
2159 "rendererinfo",
2160 "reordercats",
2161 "reordernodes",
2162 "repelem",
2163 "replace",
2164 "replaceBetween",
2165 "repmat",
2166 "resample",
2167 "rescale",
2168 "reset",
2169 "resetImpl",
2170 "reshape",
2171 "residue",
2172 "restoredefaultpath",
2173 "resume",
2174 "rethrow",
2175 "retime",
2176 "reverse",
2177 "rgb2gray",
2178 "rgb2hsv",
2179 "rgb2ind",
2180 "rgbplot",
2181 "ribbon",
2182 "rlim",
2183 "rmappdata",
2184 "rmboundary",
2185 "rmdir",
2186 "rmedge",
2187 "rmfield",
2188 "rmholes",
2189 "rmmissing",
2190 "rmnode",
2191 "rmoutliers",
2192 "rmpath",
2193 "rmpref",
2194 "rmprop",
2195 "rmslivers",
2196 "rng",
2197 "roots",
2198 "rosser",
2199 "rot90",
2200 "rotate",
2201 "rotate3d",
2202 "rotateInteraction",
2203 "round",
2204 "rowfun",
2205 "rows2vars",
2206 "rref",
2207 "rsf2csf",
2208 "rtickangle",
2209 "rtickformat",
2210 "rticklabels",
2211 "rticks",
2212 "ruler2num",
2213 "rulerPanInteraction",
2214 "run",
2215 "runChecks",
2216 "runperf",
2217 "runtests",
2218 "save",
2219 "saveObjectImpl",
2220 "saveas",
2221 "savefig",
2222 "saveobj",
2223 "savepath",
2224 "scale",
2225 "scatter",
2226 "scatter3",
2227 "scatteredInterpolant",
2228 "scatterhistogram",
2229 "schur",
2230 "scroll",
2231 "sec",
2232 "secd",
2233 "sech",
2234 "second",
2235 "seconds",
2236 "semilogx",
2237 "semilogy",
2238 "sendmail",
2239 "serialport",
2240 "serialportlist",
2241 "set",
2242 "setBscale",
2243 "setCompressionType",
2244 "setDTR",
2245 "setHCompScale",
2246 "setHCompSmooth",
2247 "setProperties",
2248 "setRTS",
2249 "setTileDim",
2250 "setTscale",
2251 "setabstime",
2252 "setappdata",
2253 "setcats",
2254 "setdiff",
2255 "setenv",
2256 "setfield",
2257 "setinterpmethod",
2258 "setpixelposition",
2259 "setpref",
2260 "settimeseriesnames",
2261 "settings",
2262 "setuniformtime",
2263 "setup",
2264 "setupImpl",
2265 "setvaropts",
2266 "setvartype",
2267 "setxor",
2268 "sgtitle",
2269 "shading",
2270 "sheetnames",
2271 "shg",
2272 "shiftdim",
2273 "shortestpath",
2274 "shortestpathtree",
2275 "showplottool",
2276 "shrinkfaces",
2277 "shuffle",
2278 "sign",
2279 "simplify",
2280 "sin",
2281 "sind",
2282 "single",
2283 "sinh",
2284 "sinpi",
2285 "size",
2286 "slice",
2287 "smooth3",
2288 "smoothdata",
2289 "snapnow",
2290 "sort",
2291 "sortboundaries",
2292 "sortregions",
2293 "sortrows",
2294 "sortx",
2295 "sorty",
2296 "sound",
2297 "soundsc",
2298 "spalloc",
2299 "sparse",
2300 "spaugment",
2301 "spconvert",
2302 "spdiags",
2303 "specular",
2304 "speye",
2305 "spfun",
2306 "sph2cart",
2307 "sphere",
2308 "spinmap",
2309 "spline",
2310 "split",
2311 "splitapply",
2312 "splitlines",
2313 "splitvars",
2314 "spones",
2315 "spparms",
2316 "sprand",
2317 "sprandn",
2318 "sprandsym",
2319 "sprank",
2320 "spreadsheetDatastore",
2321 "spreadsheetImportOptions",
2322 "spring",
2323 "sprintf",
2324 "spy",
2325 "sqrt",
2326 "sqrtm",
2327 "squeeze",
2328 "ss2tf",
2329 "sscanf",
2330 "stack",
2331 "stackedplot",
2332 "stairs",
2333 "standardizeMissing",
2334 "start",
2335 "startat",
2336 "startsWith",
2337 "startup",
2338 "std",
2339 "stem",
2340 "stem3",
2341 "step",
2342 "stepImpl",
2343 "stlread",
2344 "stlwrite",
2345 "stop",
2346 "str2double",
2347 "str2func",
2348 "str2num",
2349 "strcat",
2350 "strcmp",
2351 "strcmpi",
2352 "stream2",
2353 "stream3",
2354 "streamline",
2355 "streamparticles",
2356 "streamribbon",
2357 "streamslice",
2358 "streamtube",
2359 "strfind",
2360 "string",
2361 "strings",
2362 "strip",
2363 "strjoin",
2364 "strjust",
2365 "strlength",
2366 "strncmp",
2367 "strncmpi",
2368 "strrep",
2369 "strsplit",
2370 "strtok",
2371 "strtrim",
2372 "struct",
2373 "struct2cell",
2374 "struct2table",
2375 "structfun",
2376 "sub2ind",
2377 "subgraph",
2378 "subplot",
2379 "subsasgn",
2380 "subscribe",
2381 "subsindex",
2382 "subspace",
2383 "subsref",
2384 "substruct",
2385 "subtitle",
2386 "subtract",
2387 "subvolume",
2388 "successors",
2389 "sum",
2390 "summary",
2391 "summer",
2392 "superclasses",
2393 "surf",
2394 "surf2patch",
2395 "surface",
2396 "surfaceArea",
2397 "surfc",
2398 "surfl",
2399 "surfnorm",
2400 "svd",
2401 "svds",
2402 "svdsketch",
2403 "swapbytes",
2404 "swarmchart",
2405 "swarmchart3",
2406 "sylvester",
2407 "symamd",
2408 "symbfact",
2409 "symmlq",
2410 "symrcm",
2411 "synchronize",
2412 "sysobjupdate",
2413 "system",
2414 "table",
2415 "table2array",
2416 "table2cell",
2417 "table2struct",
2418 "table2timetable",
2419 "tabularTextDatastore",
2420 "tail",
2421 "tall",
2422 "tallrng",
2423 "tan",
2424 "tand",
2425 "tanh",
2426 "tar",
2427 "tcpclient",
2428 "tempdir",
2429 "tempname",
2430 "testsuite",
2431 "tetramesh",
2432 "texlabel",
2433 "text",
2434 "textBoundary",
2435 "textscan",
2436 "textwrap",
2437 "tfqmr",
2438 "thetalim",
2439 "thetatickformat",
2440 "thetaticklabels",
2441 "thetaticks",
2442 "thingSpeakRead",
2443 "thingSpeakWrite",
2444 "throw",
2445 "throwAsCaller",
2446 "tic",
2447 "tiledlayout",
2448 "time",
2449 "timeit",
2450 "timeofday",
2451 "timer",
2452 "timerange",
2453 "timerfind",
2454 "timerfindall",
2455 "timeseries",
2456 "timetable",
2457 "timetable2table",
2458 "timezones",
2459 "title",
2460 "toc",
2461 "todatenum",
2462 "toeplitz",
2463 "toolboxdir",
2464 "topkrows",
2465 "toposort",
2466 "trace",
2467 "transclosure",
2468 "transform",
2469 "translate",
2470 "transpose",
2471 "transreduction",
2472 "trapz",
2473 "treelayout",
2474 "treeplot",
2475 "triangulation",
2476 "tril",
2477 "trimesh",
2478 "triplot",
2479 "trisurf",
2480 "triu",
2481 "true",
2482 "tscollection",
2483 "tsdata.event",
2484 "tsearchn",
2485 "turbo",
2486 "turningdist",
2487 "type",
2488 "typecast",
2489 "tzoffset",
2490 "uialert",
2491 "uiaxes",
2492 "uibutton",
2493 "uibuttongroup",
2494 "uicheckbox",
2495 "uiconfirm",
2496 "uicontextmenu",
2497 "uicontrol",
2498 "uidatepicker",
2499 "uidropdown",
2500 "uieditfield",
2501 "uifigure",
2502 "uigauge",
2503 "uigetdir",
2504 "uigetfile",
2505 "uigetpref",
2506 "uigridlayout",
2507 "uihtml",
2508 "uiimage",
2509 "uiknob",
2510 "uilabel",
2511 "uilamp",
2512 "uilistbox",
2513 "uimenu",
2514 "uint16",
2515 "uint32",
2516 "uint64",
2517 "uint8",
2518 "uiopen",
2519 "uipanel",
2520 "uiprogressdlg",
2521 "uipushtool",
2522 "uiputfile",
2523 "uiradiobutton",
2524 "uiresume",
2525 "uisave",
2526 "uisetcolor",
2527 "uisetfont",
2528 "uisetpref",
2529 "uislider",
2530 "uispinner",
2531 "uistack",
2532 "uistyle",
2533 "uiswitch",
2534 "uitab",
2535 "uitabgroup",
2536 "uitable",
2537 "uitextarea",
2538 "uitogglebutton",
2539 "uitoggletool",
2540 "uitoolbar",
2541 "uitree",
2542 "uitreenode",
2543 "uiwait",
2544 "uminus",
2545 "underlyingType",
2546 "underlyingValue",
2547 "unicode2native",
2548 "union",
2549 "unique",
2550 "uniquetol",
2551 "unix",
2552 "unloadlibrary",
2553 "unmesh",
2554 "unmkpp",
2555 "unregisterallevents",
2556 "unregisterevent",
2557 "unstack",
2558 "unsubscribe",
2559 "untar",
2560 "unwrap",
2561 "unzip",
2562 "update",
2563 "updateDependencies",
2564 "uplus",
2565 "upper",
2566 "usejava",
2567 "userpath",
2568 "validateFunctionSignaturesJSON",
2569 "validateInputsImpl",
2570 "validatePropertiesImpl",
2571 "validateattributes",
2572 "validatecolor",
2573 "validatestring",
2574 "values",
2575 "vander",
2576 "var",
2577 "varargin",
2578 "varargout",
2579 "varfun",
2580 "vartype",
2581 "vecnorm",
2582 "ver",
2583 "verLessThan",
2584 "version",
2585 "vertcat",
2586 "vertexAttachments",
2587 "vertexNormal",
2588 "view",
2589 "viewmtx",
2590 "visdiff",
2591 "volume",
2592 "volumebounds",
2593 "voronoi",
2594 "voronoiDiagram",
2595 "voronoin",
2596 "wait",
2597 "waitbar",
2598 "waitfor",
2599 "waitforbuttonpress",
2600 "warndlg",
2601 "warning",
2602 "waterfall",
2603 "web",
2604 "weboptions",
2605 "webread",
2606 "websave",
2607 "webwrite",
2608 "week",
2609 "weekday",
2610 "what",
2611 "which",
2612 "whitespaceBoundary",
2613 "whitespacePattern",
2614 "who",
2615 "whos",
2616 "width",
2617 "wildcardPattern",
2618 "wilkinson",
2619 "winopen",
2620 "winqueryreg",
2621 "winter",
2622 "withinrange",
2623 "withtol",
2624 "wordcloud",
2625 "write",
2626 "writeChecksum",
2627 "writeCol",
2628 "writeComment",
2629 "writeDate",
2630 "writeHistory",
2631 "writeImg",
2632 "writeKey",
2633 "writeKeyUnit",
2634 "writeVideo",
2635 "writeall",
2636 "writecell",
2637 "writeline",
2638 "writematrix",
2639 "writestruct",
2640 "writetable",
2641 "writetimetable",
2642 "xcorr",
2643 "xcov",
2644 "xlabel",
2645 "xlim",
2646 "xline",
2647 "xmlread",
2648 "xmlwrite",
2649 "xor",
2650 "xslt",
2651 "xtickangle",
2652 "xtickformat",
2653 "xticklabels",
2654 "xticks",
2655 "year",
2656 "years",
2657 "ylabel",
2658 "ylim",
2659 "yline",
2660 "ymd",
2661 "ytickangle",
2662 "ytickformat",
2663 "yticklabels",
2664 "yticks",
2665 "yyaxis",
2666 "yyyymmdd",
2667 "zeros",
2668 "zip",
2669 "zlabel",
2670 "zlim",
2671 "zoom",
2672 "zoomInteraction",
2673 "ztickangle",
2674 "ztickformat",
2675 "zticklabels",
2676 "zticks",
2677 ],
2678 prefix=r"(?<!\.)(", # Exclude field names
2679 suffix=r")\b"
2680 ),
2681 Name.Builtin
2682 ),
2683
2684 # line continuation with following comment:
2685 (r'(\.\.\.)(.*)$', bygroups(Keyword, Comment)),
2686
2687 # command form:
2688 # "How MATLAB Recognizes Command Syntax" specifies that an operator
2689 # is recognized if it is either surrounded by spaces or by no
2690 # spaces on both sides (this allows distinguishing `cd ./foo` from
2691 # `cd ./ foo`.). Here, the regex checks that the first word in the
2692 # line is not followed by <spaces> and then
2693 # (equal | open-parenthesis | <operator><space> | <space>).
2694 (rf'(?:^|(?<=;))(\s*)(\w+)(\s+)(?!=|\(|{_operators}\s|\s)',
2695 bygroups(Whitespace, Name, Whitespace), 'commandargs'),
2696
2697 include('expressions')
2698 ],
2699 'blockcomment': [
2700 (r'^\s*%\}', Comment.Multiline, '#pop'),
2701 (r'^.*\n', Comment.Multiline),
2702 (r'.', Comment.Multiline),
2703 ],
2704 'deffunc': _deffunc,
2705 'deffunc_args': _deffunc_args,
2706 'propattrs': [
2707 (r'(\w+)(\s*)(=)(\s*)(\d+)',
2708 bygroups(Name.Builtin, Whitespace, Punctuation, Whitespace,
2709 Number)),
2710 (r'(\w+)(\s*)(=)(\s*)([a-zA-Z]\w*)',
2711 bygroups(Name.Builtin, Whitespace, Punctuation, Whitespace,
2712 Keyword)),
2713 (r',', Punctuation),
2714 (r'\)', Punctuation, '#pop'),
2715 (r'\s+', Whitespace),
2716 (r'.', Text),
2717 ],
2718 'defprops': [
2719 (r'%\{\s*\n', Comment.Multiline, 'blockcomment'),
2720 (r'%.*$', Comment),
2721 (r'(?<!\.)end\b', Keyword, '#pop'),
2722 include('expressions'),
2723 ],
2724 'string': [
2725 (r"[^']*'", String, '#pop'),
2726 ],
2727 'commandargs': [
2728 # If an equal sign or other operator is encountered, this
2729 # isn't a command. It might be a variable assignment or
2730 # comparison operation with multiple spaces before the
2731 # equal sign or operator
2732 (r"=", Punctuation, '#pop'),
2733 (_operators, Operator, '#pop'),
2734 (r"[ \t]+", Whitespace),
2735 ("'[^']*'", String),
2736 (r"[^';\s]+", String),
2737 (";", Punctuation, '#pop'),
2738 default('#pop'),
2739 ]
2740 }
2741
2742 def analyse_text(text):
2743 # function declaration.
2744 first_non_comment = next((line for line in text.splitlines()
2745 if not re.match(r'^\s*%', text)), '').strip()
2746 if (first_non_comment.startswith('function')
2747 and '{' not in first_non_comment):
2748 return 1.
2749 # comment
2750 elif re.search(r'^\s*%', text, re.M):
2751 return 0.2
2752 # system cmd
2753 elif re.search(r'^!\w+', text, re.M):
2754 return 0.2
2755
2756
2757line_re = re.compile('.*?\n')
2758
2759
2760class MatlabSessionLexer(Lexer):
2761 """
2762 For Matlab sessions. Modeled after PythonConsoleLexer.
2763 Contributed by Ken Schutte <kschutte@csail.mit.edu>.
2764 """
2765 name = 'Matlab session'
2766 aliases = ['matlabsession']
2767 url = 'https://www.mathworks.com/products/matlab.html'
2768 version_added = '0.10'
2769 _example = "matlabsession/matlabsession_sample.txt"
2770
2771 def get_tokens_unprocessed(self, text):
2772 mlexer = MatlabLexer(**self.options)
2773
2774 curcode = ''
2775 insertions = []
2776 continuation = False
2777
2778 for match in line_re.finditer(text):
2779 line = match.group()
2780
2781 if line.startswith('>> '):
2782 insertions.append((len(curcode),
2783 [(0, Generic.Prompt, line[:3])]))
2784 curcode += line[3:]
2785
2786 elif line.startswith('>>'):
2787 insertions.append((len(curcode),
2788 [(0, Generic.Prompt, line[:2])]))
2789 curcode += line[2:]
2790
2791 elif line.startswith('???'):
2792
2793 idx = len(curcode)
2794
2795 # without is showing error on same line as before...?
2796 # line = "\n" + line
2797 token = (0, Generic.Traceback, line)
2798 insertions.append((idx, [token]))
2799 elif continuation and insertions:
2800 # line_start is the length of the most recent prompt symbol
2801 line_start = len(insertions[-1][-1][-1])
2802 # Set leading spaces with the length of the prompt to be a generic prompt
2803 # This keeps code aligned when prompts are removed, say with some Javascript
2804 if line.startswith(' '*line_start):
2805 insertions.append(
2806 (len(curcode), [(0, Generic.Prompt, line[:line_start])]))
2807 curcode += line[line_start:]
2808 else:
2809 curcode += line
2810 else:
2811 if curcode:
2812 yield from do_insertions(
2813 insertions, mlexer.get_tokens_unprocessed(curcode))
2814 curcode = ''
2815 insertions = []
2816
2817 yield match.start(), Generic.Output, line
2818
2819 # Does not allow continuation if a comment is included after the ellipses.
2820 # Continues any line that ends with ..., even comments (lines that start with %)
2821 if line.strip().endswith('...'):
2822 continuation = True
2823 else:
2824 continuation = False
2825
2826 if curcode: # or item:
2827 yield from do_insertions(
2828 insertions, mlexer.get_tokens_unprocessed(curcode))
2829
2830
2831class OctaveLexer(RegexLexer):
2832 """
2833 For GNU Octave source code.
2834 """
2835 name = 'Octave'
2836 url = 'https://www.gnu.org/software/octave/index'
2837 aliases = ['octave']
2838 filenames = ['*.m']
2839 mimetypes = ['text/octave']
2840 version_added = '1.5'
2841
2842 # These lists are generated automatically.
2843 # Run the following in bash shell:
2844 #
2845 # First dump all of the Octave manual into a plain text file:
2846 #
2847 # $ info octave --subnodes -o octave-manual
2848 #
2849 # Now grep through it:
2850
2851 # for i in \
2852 # "Built-in Function" "Command" "Function File" \
2853 # "Loadable Function" "Mapping Function";
2854 # do
2855 # perl -e '@name = qw('"$i"');
2856 # print lc($name[0]),"_kw = [\n"';
2857 #
2858 # perl -n -e 'print "\"$1\",\n" if /-- '"$i"': .* (\w*) \(/;' \
2859 # octave-manual | sort | uniq ;
2860 # echo "]" ;
2861 # echo;
2862 # done
2863
2864 # taken from Octave Mercurial changeset 8cc154f45e37 (30-jan-2011)
2865
2866 builtin_kw = (
2867 "addlistener", "addpath", "addproperty", "all",
2868 "and", "any", "argnames", "argv", "assignin",
2869 "atexit", "autoload",
2870 "available_graphics_toolkits", "beep_on_error",
2871 "bitand", "bitmax", "bitor", "bitshift", "bitxor",
2872 "cat", "cell", "cellstr", "char", "class", "clc",
2873 "columns", "command_line_path",
2874 "completion_append_char", "completion_matches",
2875 "complex", "confirm_recursive_rmdir", "cputime",
2876 "crash_dumps_octave_core", "ctranspose", "cumprod",
2877 "cumsum", "debug_on_error", "debug_on_interrupt",
2878 "debug_on_warning", "default_save_options",
2879 "dellistener", "diag", "diff", "disp",
2880 "doc_cache_file", "do_string_escapes", "double",
2881 "drawnow", "e", "echo_executing_commands", "eps",
2882 "eq", "errno", "errno_list", "error", "eval",
2883 "evalin", "exec", "exist", "exit", "eye", "false",
2884 "fclear", "fclose", "fcntl", "fdisp", "feof",
2885 "ferror", "feval", "fflush", "fgetl", "fgets",
2886 "fieldnames", "file_in_loadpath", "file_in_path",
2887 "filemarker", "filesep", "find_dir_in_path",
2888 "fixed_point_format", "fnmatch", "fopen", "fork",
2889 "formula", "fprintf", "fputs", "fread", "freport",
2890 "frewind", "fscanf", "fseek", "fskipl", "ftell",
2891 "functions", "fwrite", "ge", "genpath", "get",
2892 "getegid", "getenv", "geteuid", "getgid",
2893 "getpgrp", "getpid", "getppid", "getuid", "glob",
2894 "gt", "gui_mode", "history_control",
2895 "history_file", "history_size",
2896 "history_timestamp_format_string", "home",
2897 "horzcat", "hypot", "ifelse",
2898 "ignore_function_time_stamp", "inferiorto",
2899 "info_file", "info_program", "inline", "input",
2900 "intmax", "intmin", "ipermute",
2901 "is_absolute_filename", "isargout", "isbool",
2902 "iscell", "iscellstr", "ischar", "iscomplex",
2903 "isempty", "isfield", "isfloat", "isglobal",
2904 "ishandle", "isieee", "isindex", "isinteger",
2905 "islogical", "ismatrix", "ismethod", "isnull",
2906 "isnumeric", "isobject", "isreal",
2907 "is_rooted_relative_filename", "issorted",
2908 "isstruct", "isvarname", "kbhit", "keyboard",
2909 "kill", "lasterr", "lasterror", "lastwarn",
2910 "ldivide", "le", "length", "link", "linspace",
2911 "logical", "lstat", "lt", "make_absolute_filename",
2912 "makeinfo_program", "max_recursion_depth", "merge",
2913 "methods", "mfilename", "minus", "mislocked",
2914 "mkdir", "mkfifo", "mkstemp", "mldivide", "mlock",
2915 "mouse_wheel_zoom", "mpower", "mrdivide", "mtimes",
2916 "munlock", "nargin", "nargout",
2917 "native_float_format", "ndims", "ne", "nfields",
2918 "nnz", "norm", "not", "numel", "nzmax",
2919 "octave_config_info", "octave_core_file_limit",
2920 "octave_core_file_name",
2921 "octave_core_file_options", "ones", "or",
2922 "output_max_field_width", "output_precision",
2923 "page_output_immediately", "page_screen_output",
2924 "path", "pathsep", "pause", "pclose", "permute",
2925 "pi", "pipe", "plus", "popen", "power",
2926 "print_empty_dimensions", "printf",
2927 "print_struct_array_contents", "prod",
2928 "program_invocation_name", "program_name",
2929 "putenv", "puts", "pwd", "quit", "rats", "rdivide",
2930 "readdir", "readlink", "read_readline_init_file",
2931 "realmax", "realmin", "rehash", "rename",
2932 "repelems", "re_read_readline_init_file", "reset",
2933 "reshape", "resize", "restoredefaultpath",
2934 "rethrow", "rmdir", "rmfield", "rmpath", "rows",
2935 "save_header_format_string", "save_precision",
2936 "saving_history", "scanf", "set", "setenv",
2937 "shell_cmd", "sighup_dumps_octave_core",
2938 "sigterm_dumps_octave_core", "silent_functions",
2939 "single", "size", "size_equal", "sizemax",
2940 "sizeof", "sleep", "source", "sparse_auto_mutate",
2941 "split_long_rows", "sprintf", "squeeze", "sscanf",
2942 "stat", "stderr", "stdin", "stdout", "strcmp",
2943 "strcmpi", "string_fill_char", "strncmp",
2944 "strncmpi", "struct", "struct_levels_to_print",
2945 "strvcat", "subsasgn", "subsref", "sum", "sumsq",
2946 "superiorto", "suppress_verbose_help_message",
2947 "symlink", "system", "tic", "tilde_expand",
2948 "times", "tmpfile", "tmpnam", "toc", "toupper",
2949 "transpose", "true", "typeinfo", "umask", "uminus",
2950 "uname", "undo_string_escapes", "unlink", "uplus",
2951 "upper", "usage", "usleep", "vec", "vectorize",
2952 "vertcat", "waitpid", "warning", "warranty",
2953 "whos_line_format", "yes_or_no", "zeros",
2954 "inf", "Inf", "nan", "NaN")
2955
2956 command_kw = ("close", "load", "who", "whos")
2957
2958 function_kw = (
2959 "accumarray", "accumdim", "acosd", "acotd",
2960 "acscd", "addtodate", "allchild", "ancestor",
2961 "anova", "arch_fit", "arch_rnd", "arch_test",
2962 "area", "arma_rnd", "arrayfun", "ascii", "asctime",
2963 "asecd", "asind", "assert", "atand",
2964 "autoreg_matrix", "autumn", "axes", "axis", "bar",
2965 "barh", "bartlett", "bartlett_test", "beep",
2966 "betacdf", "betainv", "betapdf", "betarnd",
2967 "bicgstab", "bicubic", "binary", "binocdf",
2968 "binoinv", "binopdf", "binornd", "bitcmp",
2969 "bitget", "bitset", "blackman", "blanks",
2970 "blkdiag", "bone", "box", "brighten", "calendar",
2971 "cast", "cauchy_cdf", "cauchy_inv", "cauchy_pdf",
2972 "cauchy_rnd", "caxis", "celldisp", "center", "cgs",
2973 "chisquare_test_homogeneity",
2974 "chisquare_test_independence", "circshift", "cla",
2975 "clabel", "clf", "clock", "cloglog", "closereq",
2976 "colon", "colorbar", "colormap", "colperm",
2977 "comet", "common_size", "commutation_matrix",
2978 "compan", "compare_versions", "compass",
2979 "computer", "cond", "condest", "contour",
2980 "contourc", "contourf", "contrast", "conv",
2981 "convhull", "cool", "copper", "copyfile", "cor",
2982 "corrcoef", "cor_test", "cosd", "cotd", "cov",
2983 "cplxpair", "cross", "cscd", "cstrcat", "csvread",
2984 "csvwrite", "ctime", "cumtrapz", "curl", "cut",
2985 "cylinder", "date", "datenum", "datestr",
2986 "datetick", "datevec", "dblquad", "deal",
2987 "deblank", "deconv", "delaunay", "delaunayn",
2988 "delete", "demo", "detrend", "diffpara", "diffuse",
2989 "dir", "discrete_cdf", "discrete_inv",
2990 "discrete_pdf", "discrete_rnd", "display",
2991 "divergence", "dlmwrite", "dos", "dsearch",
2992 "dsearchn", "duplication_matrix", "durbinlevinson",
2993 "ellipsoid", "empirical_cdf", "empirical_inv",
2994 "empirical_pdf", "empirical_rnd", "eomday",
2995 "errorbar", "etime", "etreeplot", "example",
2996 "expcdf", "expinv", "expm", "exppdf", "exprnd",
2997 "ezcontour", "ezcontourf", "ezmesh", "ezmeshc",
2998 "ezplot", "ezpolar", "ezsurf", "ezsurfc", "factor",
2999 "factorial", "fail", "fcdf", "feather", "fftconv",
3000 "fftfilt", "fftshift", "figure", "fileattrib",
3001 "fileparts", "fill", "findall", "findobj",
3002 "findstr", "finv", "flag", "flipdim", "fliplr",
3003 "flipud", "fpdf", "fplot", "fractdiff", "freqz",
3004 "freqz_plot", "frnd", "fsolve",
3005 "f_test_regression", "ftp", "fullfile", "fzero",
3006 "gamcdf", "gaminv", "gampdf", "gamrnd", "gca",
3007 "gcbf", "gcbo", "gcf", "genvarname", "geocdf",
3008 "geoinv", "geopdf", "geornd", "getfield", "ginput",
3009 "glpk", "gls", "gplot", "gradient",
3010 "graphics_toolkit", "gray", "grid", "griddata",
3011 "griddatan", "gtext", "gunzip", "gzip", "hadamard",
3012 "hamming", "hankel", "hanning", "hggroup",
3013 "hidden", "hilb", "hist", "histc", "hold", "hot",
3014 "hotelling_test", "housh", "hsv", "hurst",
3015 "hygecdf", "hygeinv", "hygepdf", "hygernd",
3016 "idivide", "ifftshift", "image", "imagesc",
3017 "imfinfo", "imread", "imshow", "imwrite", "index",
3018 "info", "inpolygon", "inputname", "interpft",
3019 "interpn", "intersect", "invhilb", "iqr", "isa",
3020 "isdefinite", "isdir", "is_duplicate_entry",
3021 "isequal", "isequalwithequalnans", "isfigure",
3022 "ishermitian", "ishghandle", "is_leap_year",
3023 "isletter", "ismac", "ismember", "ispc", "isprime",
3024 "isprop", "isscalar", "issquare", "isstrprop",
3025 "issymmetric", "isunix", "is_valid_file_id",
3026 "isvector", "jet", "kendall",
3027 "kolmogorov_smirnov_cdf",
3028 "kolmogorov_smirnov_test", "kruskal_wallis_test",
3029 "krylov", "kurtosis", "laplace_cdf", "laplace_inv",
3030 "laplace_pdf", "laplace_rnd", "legend", "legendre",
3031 "license", "line", "linkprop", "list_primes",
3032 "loadaudio", "loadobj", "logistic_cdf",
3033 "logistic_inv", "logistic_pdf", "logistic_rnd",
3034 "logit", "loglog", "loglogerr", "logm", "logncdf",
3035 "logninv", "lognpdf", "lognrnd", "logspace",
3036 "lookfor", "ls_command", "lsqnonneg", "magic",
3037 "mahalanobis", "manova", "matlabroot",
3038 "mcnemar_test", "mean", "meansq", "median", "menu",
3039 "mesh", "meshc", "meshgrid", "meshz", "mexext",
3040 "mget", "mkpp", "mode", "moment", "movefile",
3041 "mpoles", "mput", "namelengthmax", "nargchk",
3042 "nargoutchk", "nbincdf", "nbininv", "nbinpdf",
3043 "nbinrnd", "nchoosek", "ndgrid", "newplot", "news",
3044 "nonzeros", "normcdf", "normest", "norminv",
3045 "normpdf", "normrnd", "now", "nthroot", "null",
3046 "ocean", "ols", "onenormest", "optimget",
3047 "optimset", "orderfields", "orient", "orth",
3048 "pack", "pareto", "parseparams", "pascal", "patch",
3049 "pathdef", "pcg", "pchip", "pcolor", "pcr",
3050 "peaks", "periodogram", "perl", "perms", "pie",
3051 "pink", "planerot", "playaudio", "plot",
3052 "plotmatrix", "plotyy", "poisscdf", "poissinv",
3053 "poisspdf", "poissrnd", "polar", "poly",
3054 "polyaffine", "polyarea", "polyderiv", "polyfit",
3055 "polygcd", "polyint", "polyout", "polyreduce",
3056 "polyval", "polyvalm", "postpad", "powerset",
3057 "ppder", "ppint", "ppjumps", "ppplot", "ppval",
3058 "pqpnonneg", "prepad", "primes", "print",
3059 "print_usage", "prism", "probit", "qp", "qqplot",
3060 "quadcc", "quadgk", "quadl", "quadv", "quiver",
3061 "qzhess", "rainbow", "randi", "range", "rank",
3062 "ranks", "rat", "reallog", "realpow", "realsqrt",
3063 "record", "rectangle_lw", "rectangle_sw",
3064 "rectint", "refresh", "refreshdata",
3065 "regexptranslate", "repmat", "residue", "ribbon",
3066 "rindex", "roots", "rose", "rosser", "rotdim",
3067 "rref", "run", "run_count", "rundemos", "run_test",
3068 "runtests", "saveas", "saveaudio", "saveobj",
3069 "savepath", "scatter", "secd", "semilogx",
3070 "semilogxerr", "semilogy", "semilogyerr",
3071 "setaudio", "setdiff", "setfield", "setxor",
3072 "shading", "shift", "shiftdim", "sign_test",
3073 "sinc", "sind", "sinetone", "sinewave", "skewness",
3074 "slice", "sombrero", "sortrows", "spaugment",
3075 "spconvert", "spdiags", "spearman", "spectral_adf",
3076 "spectral_xdf", "specular", "speed", "spencer",
3077 "speye", "spfun", "sphere", "spinmap", "spline",
3078 "spones", "sprand", "sprandn", "sprandsym",
3079 "spring", "spstats", "spy", "sqp", "stairs",
3080 "statistics", "std", "stdnormal_cdf",
3081 "stdnormal_inv", "stdnormal_pdf", "stdnormal_rnd",
3082 "stem", "stft", "strcat", "strchr", "strjust",
3083 "strmatch", "strread", "strsplit", "strtok",
3084 "strtrim", "strtrunc", "structfun", "studentize",
3085 "subplot", "subsindex", "subspace", "substr",
3086 "substruct", "summer", "surf", "surface", "surfc",
3087 "surfl", "surfnorm", "svds", "swapbytes",
3088 "sylvester_matrix", "symvar", "synthesis", "table",
3089 "tand", "tar", "tcdf", "tempdir", "tempname",
3090 "test", "text", "textread", "textscan", "tinv",
3091 "title", "toeplitz", "tpdf", "trace", "trapz",
3092 "treelayout", "treeplot", "triangle_lw",
3093 "triangle_sw", "tril", "trimesh", "triplequad",
3094 "triplot", "trisurf", "triu", "trnd", "tsearchn",
3095 "t_test", "t_test_regression", "type", "unidcdf",
3096 "unidinv", "unidpdf", "unidrnd", "unifcdf",
3097 "unifinv", "unifpdf", "unifrnd", "union", "unique",
3098 "unix", "unmkpp", "unpack", "untabify", "untar",
3099 "unwrap", "unzip", "u_test", "validatestring",
3100 "vander", "var", "var_test", "vech", "ver",
3101 "version", "view", "voronoi", "voronoin",
3102 "waitforbuttonpress", "wavread", "wavwrite",
3103 "wblcdf", "wblinv", "wblpdf", "wblrnd", "weekday",
3104 "welch_test", "what", "white", "whitebg",
3105 "wienrnd", "wilcoxon_test", "wilkinson", "winter",
3106 "xlabel", "xlim", "ylabel", "yulewalker", "zip",
3107 "zlabel", "z_test")
3108
3109 loadable_kw = (
3110 "airy", "amd", "balance", "besselh", "besseli",
3111 "besselj", "besselk", "bessely", "bitpack",
3112 "bsxfun", "builtin", "ccolamd", "cellfun",
3113 "cellslices", "chol", "choldelete", "cholinsert",
3114 "cholinv", "cholshift", "cholupdate", "colamd",
3115 "colloc", "convhulln", "convn", "csymamd",
3116 "cummax", "cummin", "daspk", "daspk_options",
3117 "dasrt", "dasrt_options", "dassl", "dassl_options",
3118 "dbclear", "dbdown", "dbstack", "dbstatus",
3119 "dbstop", "dbtype", "dbup", "dbwhere", "det",
3120 "dlmread", "dmperm", "dot", "eig", "eigs",
3121 "endgrent", "endpwent", "etree", "fft", "fftn",
3122 "fftw", "filter", "find", "full", "gcd",
3123 "getgrent", "getgrgid", "getgrnam", "getpwent",
3124 "getpwnam", "getpwuid", "getrusage", "givens",
3125 "gmtime", "gnuplot_binary", "hess", "ifft",
3126 "ifftn", "inv", "isdebugmode", "issparse", "kron",
3127 "localtime", "lookup", "lsode", "lsode_options",
3128 "lu", "luinc", "luupdate", "matrix_type", "max",
3129 "min", "mktime", "pinv", "qr", "qrdelete",
3130 "qrinsert", "qrshift", "qrupdate", "quad",
3131 "quad_options", "qz", "rand", "rande", "randg",
3132 "randn", "randp", "randperm", "rcond", "regexp",
3133 "regexpi", "regexprep", "schur", "setgrent",
3134 "setpwent", "sort", "spalloc", "sparse", "spparms",
3135 "sprank", "sqrtm", "strfind", "strftime",
3136 "strptime", "strrep", "svd", "svd_driver", "syl",
3137 "symamd", "symbfact", "symrcm", "time", "tsearch",
3138 "typecast", "urlread", "urlwrite")
3139
3140 mapping_kw = (
3141 "abs", "acos", "acosh", "acot", "acoth", "acsc",
3142 "acsch", "angle", "arg", "asec", "asech", "asin",
3143 "asinh", "atan", "atanh", "beta", "betainc",
3144 "betaln", "bincoeff", "cbrt", "ceil", "conj", "cos",
3145 "cosh", "cot", "coth", "csc", "csch", "erf", "erfc",
3146 "erfcx", "erfinv", "exp", "finite", "fix", "floor",
3147 "fmod", "gamma", "gammainc", "gammaln", "imag",
3148 "isalnum", "isalpha", "isascii", "iscntrl",
3149 "isdigit", "isfinite", "isgraph", "isinf",
3150 "islower", "isna", "isnan", "isprint", "ispunct",
3151 "isspace", "isupper", "isxdigit", "lcm", "lgamma",
3152 "log", "lower", "mod", "real", "rem", "round",
3153 "roundb", "sec", "sech", "sign", "sin", "sinh",
3154 "sqrt", "tan", "tanh", "toascii", "tolower", "xor")
3155
3156 builtin_consts = (
3157 "EDITOR", "EXEC_PATH", "I", "IMAGE_PATH", "NA",
3158 "OCTAVE_HOME", "OCTAVE_VERSION", "PAGER",
3159 "PAGER_FLAGS", "SEEK_CUR", "SEEK_END", "SEEK_SET",
3160 "SIG", "S_ISBLK", "S_ISCHR", "S_ISDIR", "S_ISFIFO",
3161 "S_ISLNK", "S_ISREG", "S_ISSOCK", "WCONTINUE",
3162 "WCOREDUMP", "WEXITSTATUS", "WIFCONTINUED",
3163 "WIFEXITED", "WIFSIGNALED", "WIFSTOPPED", "WNOHANG",
3164 "WSTOPSIG", "WTERMSIG", "WUNTRACED")
3165
3166 tokens = {
3167 'root': [
3168 (r'%\{\s*\n', Comment.Multiline, 'percentblockcomment'),
3169 (r'#\{\s*\n', Comment.Multiline, 'hashblockcomment'),
3170 (r'[%#].*$', Comment),
3171 (r'^\s*function\b', Keyword, 'deffunc'),
3172
3173 # from 'iskeyword' on hg changeset 8cc154f45e37
3174 (words((
3175 '__FILE__', '__LINE__', 'break', 'case', 'catch', 'classdef',
3176 'continue', 'do', 'else', 'elseif', 'end', 'end_try_catch',
3177 'end_unwind_protect', 'endclassdef', 'endevents', 'endfor',
3178 'endfunction', 'endif', 'endmethods', 'endproperties', 'endswitch',
3179 'endwhile', 'events', 'for', 'function', 'get', 'global', 'if',
3180 'methods', 'otherwise', 'persistent', 'properties', 'return',
3181 'set', 'static', 'switch', 'try', 'until', 'unwind_protect',
3182 'unwind_protect_cleanup', 'while'), suffix=r'\b'),
3183 Keyword),
3184
3185 (words(builtin_kw + command_kw + function_kw + loadable_kw + mapping_kw,
3186 suffix=r'\b'), Name.Builtin),
3187
3188 (words(builtin_consts, suffix=r'\b'), Name.Constant),
3189
3190 # operators in Octave but not Matlab:
3191 (r'-=|!=|!|/=|--', Operator),
3192 # operators:
3193 (r'-|==|~=|<|>|<=|>=|&&|&|~|\|\|?', Operator),
3194 # operators in Octave but not Matlab requiring escape for re:
3195 (r'\*=|\+=|\^=|\/=|\\=|\*\*|\+\+|\.\*\*', Operator),
3196 # operators requiring escape for re:
3197 (r'\.\*|\*|\+|\.\^|\^|\.\\|\.\/|\/|\\', Operator),
3198
3199
3200 # punctuation:
3201 (r'[\[\](){}:@.,]', Punctuation),
3202 (r'=|:|;', Punctuation),
3203
3204 (r'"[^"]*"', String),
3205
3206 (r'(\d+\.\d*|\d*\.\d+)([eEf][+-]?[0-9]+)?', Number.Float),
3207 (r'\d+[eEf][+-]?[0-9]+', Number.Float),
3208 (r'\d+', Number.Integer),
3209
3210 # quote can be transpose, instead of string:
3211 # (not great, but handles common cases...)
3212 (r'(?<=[\w)\].])\'+', Operator),
3213 (r'(?<![\w)\].])\'', String, 'string'),
3214
3215 (r'[a-zA-Z_]\w*', Name),
3216 (r'\s+', Text),
3217 (r'.', Text),
3218 ],
3219 'percentblockcomment': [
3220 (r'^\s*%\}', Comment.Multiline, '#pop'),
3221 (r'^.*\n', Comment.Multiline),
3222 (r'.', Comment.Multiline),
3223 ],
3224 'hashblockcomment': [
3225 (r'^\s*#\}', Comment.Multiline, '#pop'),
3226 (r'^.*\n', Comment.Multiline),
3227 (r'.', Comment.Multiline),
3228 ],
3229 'string': [
3230 (r"[^']*'", String, '#pop'),
3231 ],
3232 'deffunc': _deffunc,
3233 'deffunc_args': _deffunc_args,
3234 }
3235
3236 def analyse_text(text):
3237 """Octave is quite hard to spot, and it looks like Matlab as well."""
3238 return 0
3239
3240
3241class ScilabLexer(RegexLexer):
3242 """
3243 For Scilab source code.
3244 """
3245 name = 'Scilab'
3246 url = 'https://www.scilab.org/'
3247 aliases = ['scilab']
3248 filenames = ['*.sci', '*.sce', '*.tst']
3249 mimetypes = ['text/scilab']
3250 version_added = '1.5'
3251
3252 tokens = {
3253 'root': [
3254 (r'//.*?$', Comment.Single),
3255 (r'^\s*function\b', Keyword, 'deffunc'),
3256
3257 (words((
3258 '__FILE__', '__LINE__', 'break', 'case', 'catch', 'classdef', 'continue', 'do', 'else',
3259 'elseif', 'end', 'end_try_catch', 'end_unwind_protect', 'endclassdef',
3260 'endevents', 'endfor', 'endfunction', 'endif', 'endmethods', 'endproperties',
3261 'endswitch', 'endwhile', 'events', 'for', 'function', 'get', 'global', 'if', 'methods',
3262 'otherwise', 'persistent', 'properties', 'return', 'set', 'static', 'switch', 'try',
3263 'until', 'unwind_protect', 'unwind_protect_cleanup', 'while'), suffix=r'\b'),
3264 Keyword),
3265
3266 (words(_scilab_builtins.functions_kw +
3267 _scilab_builtins.commands_kw +
3268 _scilab_builtins.macros_kw, suffix=r'\b'), Name.Builtin),
3269
3270 (words(_scilab_builtins.variables_kw, suffix=r'\b'), Name.Constant),
3271
3272 # operators:
3273 (r'-|==|~=|<|>|<=|>=|&&|&|~|\|\|?', Operator),
3274 # operators requiring escape for re:
3275 (r'\.\*|\*|\+|\.\^|\^|\.\\|\.\/|\/|\\', Operator),
3276
3277 # punctuation:
3278 (r'[\[\](){}@.,=:;]+', Punctuation),
3279
3280 (r'"[^"]*"', String),
3281
3282 # quote can be transpose, instead of string:
3283 # (not great, but handles common cases...)
3284 (r'(?<=[\w)\].])\'+', Operator),
3285 (r'(?<![\w)\].])\'', String, 'string'),
3286
3287 (r'(\d+\.\d*|\d*\.\d+)([eEf][+-]?[0-9]+)?', Number.Float),
3288 (r'\d+[eEf][+-]?[0-9]+', Number.Float),
3289 (r'\d+', Number.Integer),
3290
3291 (r'[a-zA-Z_]\w*', Name),
3292 (r'\s+', Whitespace),
3293 (r'.', Text),
3294 ],
3295 'string': [
3296 (r"[^']*'", String, '#pop'),
3297 (r'.', String, '#pop'),
3298 ],
3299 'deffunc': _deffunc,
3300 'deffunc_args': _deffunc_args,
3301 }
3302
3303 # the following is needed to distinguish Scilab and GAP .tst files
3304 def analyse_text(text):
3305 score = 0.0
3306
3307 # Scilab comments (don't appear in e.g. GAP code)
3308 if re.search(r"^\s*//", text):
3309 score += 0.1
3310 if re.search(r"^\s*/\*", text):
3311 score += 0.1
3312
3313 return min(score, 1.0)