1"""
2 pygments.lexers.macaulay2
3 ~~~~~~~~~~~~~~~~~~~~~~~~~
4
5 Lexer for Macaulay2.
6
7 :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
8 :license: BSD, see LICENSE for details.
9"""
10
11from pygments.lexer import RegexLexer, words
12from pygments.token import Comment, Keyword, Name, String, Text
13
14__all__ = ['Macaulay2Lexer']
15
16# Auto-generated for Macaulay2-1.25.11. Do not modify this file manually.
17
18M2KEYWORDS = (
19 "SPACE",
20 "TEST",
21 "and",
22 "break",
23 "breakpoint",
24 "catch",
25 "continue",
26 "do",
27 "elapsedTime",
28 "elapsedTiming",
29 "else",
30 "for",
31 "from",
32 "global",
33 "if",
34 "in",
35 "list",
36 "local",
37 "new",
38 "not",
39 "of",
40 "or",
41 "profile",
42 "return",
43 "shield",
44 "step",
45 "symbol",
46 "then",
47 "threadLocal",
48 "threadVariable",
49 "throw",
50 "time",
51 "timing",
52 "to",
53 "try",
54 "when",
55 "while",
56 "xor"
57 )
58
59M2DATATYPES = (
60 "ANCHOR",
61 "Adjacent",
62 "AffineVariety",
63 "Analyzer",
64 "AngleBarList",
65 "Array",
66 "AssociativeExpression",
67 "AtomicInt",
68 "BLOCKQUOTE",
69 "BODY",
70 "BOLD",
71 "BR",
72 "BUTTON",
73 "Bag",
74 "BasicList",
75 "BettiTally",
76 "BinaryOperation",
77 "Boolean",
78 "CC",
79 "CDATA",
80 "CODE",
81 "COMMENT",
82 "CacheTable",
83 "ChainComplex",
84 "ChainComplexMap",
85 "CoherentSheaf",
86 "Command",
87 "CompiledFunction",
88 "CompiledFunctionBody",
89 "CompiledFunctionClosure",
90 "ComplexField",
91 "Constant",
92 "DD",
93 "DIV",
94 "DL",
95 "DT",
96 "Database",
97 "Descent",
98 "Describe",
99 "Dictionary",
100 "DirectSum",
101 "Divide",
102 "DocumentTag",
103 "EM",
104 "Eliminate",
105 "EngineRing",
106 "Equation",
107 "ExampleItem",
108 "Expression",
109 "File",
110 "FilePosition",
111 "FractionField",
112 "Function",
113 "FunctionApplication",
114 "FunctionBody",
115 "FunctionClosure",
116 "GaloisField",
117 "GeneralOrderedMonoid",
118 "GlobalDictionary",
119 "GradedModule",
120 "GradedModuleMap",
121 "GroebnerBasis",
122 "GroebnerBasisOptions",
123 "HEAD",
124 "HEADER1",
125 "HEADER2",
126 "HEADER3",
127 "HEADER4",
128 "HEADER5",
129 "HEADER6",
130 "HR",
131 "HREF",
132 "HTML",
133 "HashTable",
134 "HeaderType",
135 "Holder",
136 "Hybrid",
137 "Hypertext",
138 "HypertextContainer",
139 "HypertextParagraph",
140 "HypertextVoid",
141 "IFRAME",
142 "IMG",
143 "INDENT",
144 "INPUT",
145 "ITALIC",
146 "Ideal",
147 "ImmutableType",
148 "IndeterminateNumber",
149 "IndexedVariable",
150 "IndexedVariableTable",
151 "InexactField",
152 "InexactFieldFamily",
153 "InexactNumber",
154 "InfiniteNumber",
155 "IntermediateMarkUpType",
156 "Iterator",
157 "KBD",
158 "Keyword",
159 "LABEL",
160 "LATER",
161 "LI",
162 "LINK",
163 "LITERAL",
164 "List",
165 "LocalDictionary",
166 "LowerBound",
167 "MENU",
168 "META",
169 "Manipulator",
170 "MapExpression",
171 "MarkUpType",
172 "Matrix",
173 "MatrixExpression",
174 "MethodFunction",
175 "MethodFunctionBinary",
176 "MethodFunctionSingle",
177 "MethodFunctionWithOptions",
178 "Minus",
179 "Module",
180 "Monoid",
181 "MonoidElement",
182 "MonomialIdeal",
183 "MultigradedBettiTally",
184 "MutableHashTable",
185 "MutableList",
186 "MutableMatrix",
187 "Net",
188 "NetFile",
189 "Nothing",
190 "Number",
191 "NumberedVerticalList",
192 "OL",
193 "OneExpression",
194 "Option",
195 "OptionTable",
196 "OrderedMonoid",
197 "PARA",
198 "PRE",
199 "Package",
200 "Parenthesize",
201 "Parser",
202 "Partition",
203 "PolynomialRing",
204 "Power",
205 "Product",
206 "ProductOrder",
207 "Program",
208 "ProgramRun",
209 "ProjectiveHilbertPolynomial",
210 "ProjectiveVariety",
211 "Pseudocode",
212 "PseudocodeClosure",
213 "QQ",
214 "QuotientRing",
215 "RR",
216 "RRi",
217 "RealField",
218 "Resolution",
219 "Ring",
220 "RingElement",
221 "RingFamily",
222 "RingMap",
223 "RowExpression",
224 "SAMP",
225 "SCRIPT",
226 "SMALL",
227 "SPAN",
228 "STRONG",
229 "STYLE",
230 "SUB",
231 "SUBSECTION",
232 "SUP",
233 "ScriptedFunctor",
234 "SelfInitializingType",
235 "Sequence",
236 "Set",
237 "SheafExpression",
238 "SheafMap",
239 "SheafOfRings",
240 "SparseMonomialVectorExpression",
241 "SparseVectorExpression",
242 "String",
243 "Subscript",
244 "Sum",
245 "SumOfTwists",
246 "Superscript",
247 "Symbol",
248 "SymbolBody",
249 "TABLE",
250 "TD",
251 "TEX",
252 "TH",
253 "TITLE",
254 "TO",
255 "TO2",
256 "TOH",
257 "TR",
258 "TT",
259 "Table",
260 "Tally",
261 "Task",
262 "TensorProduct",
263 "TestInput",
264 "Thing",
265 "Time",
266 "Type",
267 "UL",
268 "URL",
269 "VAR",
270 "Variety",
271 "Vector",
272 "VectorExpression",
273 "VerticalList",
274 "VirtualTally",
275 "VisibleList",
276 "WrapperType",
277 "ZZ",
278 "ZeroExpression"
279 )
280
281M2FUNCTIONS = (
282 "BesselJ",
283 "BesselY",
284 "Beta",
285 "Digamma",
286 "EXAMPLE",
287 "End",
288 "Fano",
289 "GCstats",
290 "GF",
291 "Gamma",
292 "Grassmannian",
293 "Hom",
294 "LLL",
295 "LUdecomposition",
296 "M2CODE",
297 "NNParser",
298 "Proj",
299 "QQParser",
300 "QRDecomposition",
301 "SVD",
302 "SYNOPSIS",
303 "Schubert",
304 "Spec",
305 "ZZParser",
306 "about",
307 "abs",
308 "accumulate",
309 "acos",
310 "acosh",
311 "acot",
312 "acoth",
313 "addCancelTask",
314 "addDependencyTask",
315 "addEndFunction",
316 "addHook",
317 "addStartTask",
318 "adjoint",
319 "agm",
320 "alarm",
321 "all",
322 "ambient",
323 "analyticSpread",
324 "ancestor",
325 "ancestors",
326 "andP",
327 "ann",
328 "annihilator",
329 "antipode",
330 "any",
331 "append",
332 "applicationDirectory",
333 "apply",
334 "applyKeys",
335 "applyPairs",
336 "applyTable",
337 "applyValues",
338 "apropos",
339 "arXiv",
340 "ascii",
341 "asin",
342 "asinh",
343 "ass",
344 "assert",
345 "associatedGradedRing",
346 "associatedPrimes",
347 "atEndOfFile",
348 "atan",
349 "atan2",
350 "atanh",
351 "autoload",
352 "baseFilename",
353 "baseName",
354 "baseRing",
355 "basis",
356 "beginDocumentation",
357 "benchmark",
358 "betti",
359 "between",
360 "binomial",
361 "borel",
362 "cacheValue",
363 "cancelTask",
364 "canonicalBundle",
365 "capture",
366 "ceiling",
367 "centerString",
368 "chainComplex",
369 "changeBase",
370 "changeDirectory",
371 "char",
372 "charAnalyzer",
373 "characters",
374 "check",
375 "checkDegrees",
376 "chi",
377 "class",
378 "clean",
379 "clearEcho",
380 "code",
381 "codim",
382 "coefficient",
383 "coefficientRing",
384 "coefficients",
385 "cohomology",
386 "coimage",
387 "coker",
388 "cokernel",
389 "collectGarbage",
390 "columnAdd",
391 "columnMult",
392 "columnPermute",
393 "columnRankProfile",
394 "columnSwap",
395 "columnate",
396 "combine",
397 "commandInterpreter",
398 "commonRing",
399 "commonest",
400 "comodule",
401 "compareExchange",
402 "complement",
403 "complete",
404 "components",
405 "compose",
406 "compositions",
407 "compress",
408 "concatenate",
409 "conductor",
410 "cone",
411 "conjugate",
412 "connectionCount",
413 "constParser",
414 "content",
415 "contract",
416 "conwayPolynomial",
417 "copy",
418 "copyDirectory",
419 "copyFile",
420 "cos",
421 "cosh",
422 "cot",
423 "cotangentSheaf",
424 "coth",
425 "cover",
426 "coverMap",
427 "cpuTime",
428 "createTask",
429 "csc",
430 "csch",
431 "currentColumnNumber",
432 "currentDirectory",
433 "currentPosition",
434 "currentRowNumber",
435 "currentTime",
436 "deadParser",
437 "debug",
438 "debugError",
439 "decompose",
440 "deepSplice",
441 "default",
442 "degree",
443 "degreeGroup",
444 "degreeLength",
445 "degrees",
446 "degreesMonoid",
447 "degreesRing",
448 "delete",
449 "demark",
450 "denominator",
451 "depth",
452 "describe",
453 "det",
454 "determinant",
455 "diagonalMatrix",
456 "diameter",
457 "dictionary",
458 "diff",
459 "difference",
460 "dim",
461 "directProduct",
462 "directSum",
463 "disassemble",
464 "discriminant",
465 "dismiss",
466 "distinguished",
467 "divideByVariable",
468 "doc",
469 "document",
470 "drop",
471 "dual",
472 "eagonNorthcott",
473 "echoOff",
474 "echoOn",
475 "eigenvalues",
476 "eigenvectors",
477 "eint",
478 "elements",
479 "eliminate",
480 "endPackage",
481 "entries",
482 "erase",
483 "erf",
484 "erfc",
485 "error",
486 "euler",
487 "eulers",
488 "even",
489 "examples",
490 "exchange",
491 "exec",
492 "exp",
493 "expectedReesIdeal",
494 "expm1",
495 "exponents",
496 "export",
497 "exportFrom",
498 "exportMutable",
499 "expression",
500 "extend",
501 "exteriorPower",
502 "factor",
503 "fileExecutable",
504 "fileExists",
505 "fileLength",
506 "fileMode",
507 "fileReadable",
508 "fileTime",
509 "fileWritable",
510 "fillMatrix",
511 "findFiles",
512 "findHeft",
513 "findProgram",
514 "findSynonyms",
515 "first",
516 "firstkey",
517 "fittingIdeal",
518 "flagLookup",
519 "flatten",
520 "flattenRing",
521 "flip",
522 "floor",
523 "fold",
524 "forceGB",
525 "fork",
526 "format",
527 "formation",
528 "frac",
529 "fraction",
530 "frames",
531 "fromDividedPowers",
532 "fromDual",
533 "functionBody",
534 "futureParser",
535 "gb",
536 "gbRemove",
537 "gbSnapshot",
538 "gcd",
539 "gcdCoefficients",
540 "gcdLLL",
541 "genera",
542 "generateAssertions",
543 "generator",
544 "generators",
545 "genericMatrix",
546 "genericSkewMatrix",
547 "genericSymmetricMatrix",
548 "gens",
549 "genus",
550 "get",
551 "getChangeMatrix",
552 "getGlobalSymbol",
553 "getIOThreadMode",
554 "getNetFile",
555 "getNonUnit",
556 "getPrimeWithRootOfUnity",
557 "getSymbol",
558 "getWWW",
559 "getc",
560 "getenv",
561 "globalAssign",
562 "globalAssignFunction",
563 "globalAssignment",
564 "globalReleaseFunction",
565 "gradedModule",
566 "gradedModuleMap",
567 "gramm",
568 "graphIdeal",
569 "graphRing",
570 "groebnerBasis",
571 "groupID",
572 "hash",
573 "hashTable",
574 "headlines",
575 "heft",
576 "height",
577 "hermite",
578 "hilbertFunction",
579 "hilbertPolynomial",
580 "hilbertSeries",
581 "hold",
582 "homogenize",
583 "homology",
584 "homomorphism",
585 "hooks",
586 "horizontalJoin",
587 "html",
588 "httpHeaders",
589 "hypertext",
590 "icFracP",
591 "icFractions",
592 "icMap",
593 "icPIdeal",
594 "ideal",
595 "idealSheaf",
596 "idealizer",
597 "identity",
598 "image",
599 "imaginaryPart",
600 "importFrom",
601 "independentSets",
602 "index",
603 "indices",
604 "inducedMap",
605 "inducesWellDefinedMap",
606 "info",
607 "input",
608 "insert",
609 "installAssignmentMethod",
610 "installHilbertFunction",
611 "installMethod",
612 "installMinprimes",
613 "installPackage",
614 "installedPackages",
615 "instance",
616 "instances",
617 "integralClosure",
618 "integrate",
619 "intersect",
620 "intersectInP",
621 "intersection",
622 "interval",
623 "inverse",
624 "inverseErf",
625 "inversePermutation",
626 "inverseRegularizedBeta",
627 "inverseRegularizedGamma",
628 "inverseSystem",
629 "irreducibleCharacteristicSeries",
630 "irreducibleDecomposition",
631 "isANumber",
632 "isAffineRing",
633 "isBorel",
634 "isCanceled",
635 "isCommutative",
636 "isConstant",
637 "isDirectSum",
638 "isDirectory",
639 "isEmpty",
640 "isExact",
641 "isField",
642 "isFinite",
643 "isFinitePrimeField",
644 "isFreeModule",
645 "isGlobalSymbol",
646 "isHomogeneous",
647 "isIdeal",
648 "isInfinite",
649 "isInjective",
650 "isInputFile",
651 "isIsomorphic",
652 "isIsomorphism",
653 "isLLL",
654 "isLinearType",
655 "isListener",
656 "isLocallyFree",
657 "isMember",
658 "isModule",
659 "isMonomialIdeal",
660 "isMutable",
661 "isNormal",
662 "isOpen",
663 "isOutputFile",
664 "isPolynomialRing",
665 "isPrimary",
666 "isPrime",
667 "isPrimitive",
668 "isProjective",
669 "isPseudoprime",
670 "isQuotientModule",
671 "isQuotientOf",
672 "isQuotientRing",
673 "isReady",
674 "isReal",
675 "isReduction",
676 "isRegularFile",
677 "isRing",
678 "isSkewCommutative",
679 "isSmooth",
680 "isSorted",
681 "isSquareFree",
682 "isStandardGradedPolynomialRing",
683 "isSubmodule",
684 "isSubquotient",
685 "isSubset",
686 "isSupportedInZeroLocus",
687 "isSurjective",
688 "isTable",
689 "isUnit",
690 "isVeryAmple",
691 "isWellDefined",
692 "isWeylAlgebra",
693 "isc",
694 "isomorphism",
695 "iterator",
696 "jacobian",
697 "jacobianDual",
698 "join",
699 "ker",
700 "kernel",
701 "kernelLLL",
702 "kernelOfLocalization",
703 "keys",
704 "kill",
705 "koszul",
706 "last",
707 "lcm",
708 "leadCoefficient",
709 "leadComponent",
710 "leadMonomial",
711 "leadTerm",
712 "left",
713 "length",
714 "letterParser",
715 "lift",
716 "liftable",
717 "limitFiles",
718 "limitProcesses",
719 "lines",
720 "linkFile",
721 "listForm",
722 "listSymbols",
723 "lngamma",
724 "load",
725 "loadPackage",
726 "localDictionaries",
727 "localize",
728 "locate",
729 "log",
730 "log1p",
731 "lookup",
732 "lookupCount",
733 "makeDirectory",
734 "makeDocumentTag",
735 "makePackageIndex",
736 "makeS2",
737 "map",
738 "markedGB",
739 "match",
740 "mathML",
741 "matrix",
742 "max",
743 "maxPosition",
744 "member",
745 "memoize",
746 "memoizeClear",
747 "memoizeValues",
748 "merge",
749 "mergePairs",
750 "method",
751 "methodOptions",
752 "methods",
753 "midpoint",
754 "min",
755 "minPosition",
756 "minPres",
757 "mingens",
758 "mingle",
759 "minimalBetti",
760 "minimalPresentation",
761 "minimalPrimes",
762 "minimalReduction",
763 "minimize",
764 "minimizeFilename",
765 "minors",
766 "minprimes",
767 "minus",
768 "mkdir",
769 "mod",
770 "module",
771 "modulo",
772 "monoid",
773 "monomialCurveIdeal",
774 "monomialIdeal",
775 "monomialSubideal",
776 "monomials",
777 "moveFile",
778 "multidegree",
779 "multidoc",
780 "multigraded",
781 "multiplicity",
782 "mutable",
783 "mutableIdentity",
784 "mutableMatrix",
785 "nanosleep",
786 "needs",
787 "needsPackage",
788 "net",
789 "netList",
790 "newClass",
791 "newCoordinateSystem",
792 "newNetFile",
793 "newPackage",
794 "newRing",
795 "next",
796 "nextPrime",
797 "nextkey",
798 "nonspaceAnalyzer",
799 "norm",
800 "normalCone",
801 "notImplemented",
802 "nullParser",
803 "nullSpace",
804 "nullhomotopy",
805 "numColumns",
806 "numRows",
807 "number",
808 "numcols",
809 "numerator",
810 "numeric",
811 "numericInterval",
812 "numgens",
813 "numrows",
814 "odd",
815 "oeis",
816 "ofClass",
817 "on",
818 "openDatabase",
819 "openDatabaseOut",
820 "openFiles",
821 "openIn",
822 "openInOut",
823 "openListener",
824 "openOut",
825 "openOutAppend",
826 "optP",
827 "optionalSignParser",
828 "options",
829 "orP",
830 "override",
831 "pack",
832 "package",
833 "packageTemplate",
834 "pad",
835 "pager",
836 "pairs",
837 "parallelApply",
838 "parent",
839 "part",
840 "partition",
841 "partitions",
842 "parts",
843 "pdim",
844 "peek",
845 "permanents",
846 "permutations",
847 "pfaffian",
848 "pfaffians",
849 "pivots",
850 "plus",
851 "poincare",
852 "poincareN",
853 "polarize",
854 "poly",
855 "position",
856 "positions",
857 "power",
858 "powermod",
859 "precision",
860 "preimage",
861 "prepend",
862 "presentation",
863 "pretty",
864 "primaryComponent",
865 "primaryDecomposition",
866 "print",
867 "printString",
868 "printerr",
869 "processID",
870 "product",
871 "projectiveHilbertPolynomial",
872 "promote",
873 "protect",
874 "prune",
875 "pseudoRemainder",
876 "pseudocode",
877 "pullback",
878 "pushForward",
879 "pushout",
880 "quotient",
881 "quotientRemainder",
882 "radical",
883 "radicalContainment",
884 "random",
885 "randomKRationalPoint",
886 "randomMutableMatrix",
887 "randomSubset",
888 "rank",
889 "rays",
890 "read",
891 "readDirectory",
892 "readPackage",
893 "readlink",
894 "realPart",
895 "realpath",
896 "recursionDepth",
897 "reduceHilbert",
898 "reducedRowEchelonForm",
899 "reductionNumber",
900 "reesAlgebra",
901 "reesAlgebraIdeal",
902 "reesIdeal",
903 "regSeqInIdeal",
904 "regex",
905 "regexQuote",
906 "registerFinalizer",
907 "regularity",
908 "regularizedBeta",
909 "regularizedGamma",
910 "relations",
911 "relativizeFilename",
912 "remainder",
913 "remove",
914 "removeDirectory",
915 "removeFile",
916 "removeLowestDimension",
917 "reorganize",
918 "replace",
919 "res",
920 "reshape",
921 "resolution",
922 "resultant",
923 "reverse",
924 "right",
925 "ring",
926 "ringFromFractions",
927 "roots",
928 "rotate",
929 "round",
930 "rowAdd",
931 "rowMult",
932 "rowPermute",
933 "rowRankProfile",
934 "rowSwap",
935 "rsort",
936 "run",
937 "runHooks",
938 "runLengthEncode",
939 "runProgram",
940 "same",
941 "saturate",
942 "scan",
943 "scanKeys",
944 "scanLines",
945 "scanPairs",
946 "scanValues",
947 "schedule",
948 "schreyerOrder",
949 "searchPath",
950 "sec",
951 "sech",
952 "seeParsing",
953 "select",
954 "selectInSubring",
955 "selectKeys",
956 "selectPairs",
957 "selectValues",
958 "selectVariables",
959 "separate",
960 "separateRegexp",
961 "sequence",
962 "serialNumber",
963 "set",
964 "setEcho",
965 "setGroupID",
966 "setIOExclusive",
967 "setIOSynchronized",
968 "setIOUnSynchronized",
969 "setRandomSeed",
970 "setup",
971 "setupEmacs",
972 "setupLift",
973 "setupPromote",
974 "sheaf",
975 "sheafHom",
976 "sheafMap",
977 "show",
978 "showHtml",
979 "showTex",
980 "sign",
981 "simpleDocFrob",
982 "sin",
983 "singularLocus",
984 "sinh",
985 "size",
986 "size2",
987 "sleep",
988 "smithNormalForm",
989 "solve",
990 "someTerms",
991 "sort",
992 "sortColumns",
993 "source",
994 "span",
995 "specialFiber",
996 "specialFiberIdeal",
997 "splice",
998 "splitWWW",
999 "sqrt",
1000 "stack",
1001 "stacksProject",
1002 "stacktrace",
1003 "standardForm",
1004 "standardPairs",
1005 "stashValue",
1006 "status",
1007 "store",
1008 "style",
1009 "sub",
1010 "sublists",
1011 "submatrix",
1012 "submatrixByDegrees",
1013 "subquotient",
1014 "subsets",
1015 "substitute",
1016 "substring",
1017 "subtable",
1018 "sum",
1019 "super",
1020 "support",
1021 "switch",
1022 "sylvesterMatrix",
1023 "symbolBody",
1024 "symlinkDirectory",
1025 "symlinkFile",
1026 "symmetricAlgebra",
1027 "symmetricAlgebraIdeal",
1028 "symmetricKernel",
1029 "symmetricPower",
1030 "synonym",
1031 "syz",
1032 "syzygyScheme",
1033 "table",
1034 "take",
1035 "tally",
1036 "tan",
1037 "tangentCone",
1038 "tangentSheaf",
1039 "tanh",
1040 "target",
1041 "taskResult",
1042 "temporaryFileName",
1043 "tensor",
1044 "tensorAssociativity",
1045 "terminalParser",
1046 "terms",
1047 "testHunekeQuestion",
1048 "tests",
1049 "tex",
1050 "texMath",
1051 "times",
1052 "toAbsolutePath",
1053 "toCC",
1054 "toDividedPowers",
1055 "toDual",
1056 "toExternalString",
1057 "toField",
1058 "toList",
1059 "toLower",
1060 "toRR",
1061 "toRRi",
1062 "toSequence",
1063 "toString",
1064 "toUpper",
1065 "top",
1066 "topCoefficients",
1067 "topComponents",
1068 "trace",
1069 "transpose",
1070 "trim",
1071 "truncate",
1072 "truncateOutput",
1073 "tutorial",
1074 "ultimate",
1075 "unbag",
1076 "uncurry",
1077 "undocumented",
1078 "uniform",
1079 "uninstallAllPackages",
1080 "uninstallPackage",
1081 "union",
1082 "unique",
1083 "uniquePermutations",
1084 "unsequence",
1085 "unstack",
1086 "urlEncode",
1087 "use",
1088 "userSymbols",
1089 "utf8",
1090 "utf8check",
1091 "utf8substring",
1092 "validate",
1093 "value",
1094 "values",
1095 "variety",
1096 "vars",
1097 "vector",
1098 "versalEmbedding",
1099 "wait",
1100 "wedgeProduct",
1101 "weightRange",
1102 "whichGm",
1103 "width",
1104 "wikipedia",
1105 "wrap",
1106 "youngest",
1107 "zero",
1108 "zeta"
1109 )
1110
1111M2CONSTANTS = (
1112 "A1BrouwerDegrees",
1113 "AbstractSimplicialComplexes",
1114 "AbstractToricVarieties",
1115 "Acknowledgement",
1116 "AdditionalPaths",
1117 "AdjointIdeal",
1118 "AdjunctionForSurfaces",
1119 "AfterEval",
1120 "AfterNoPrint",
1121 "AfterPrint",
1122 "AInfinity",
1123 "AlgebraicSplines",
1124 "Algorithm",
1125 "Alignment",
1126 "AllCodimensions",
1127 "AllMarkovBases",
1128 "allowableThreads",
1129 "AnalyzeSheafOnP1",
1130 "applicationDirectorySuffix",
1131 "argument",
1132 "Ascending",
1133 "AssociativeAlgebras",
1134 "Authors",
1135 "AuxiliaryFiles",
1136 "backtrace",
1137 "Bareiss",
1138 "Base",
1139 "BaseFunction",
1140 "baseRings",
1141 "BaseRow",
1142 "BasisElementLimit",
1143 "Bayer",
1144 "BeforePrint",
1145 "BeginningMacaulay2",
1146 "Benchmark",
1147 "BernsteinSato",
1148 "Bertini",
1149 "BettiCharacters",
1150 "BGG",
1151 "BIBasis",
1152 "Binary",
1153 "Binomial",
1154 "BinomialEdgeIdeals",
1155 "Binomials",
1156 "BKZ",
1157 "blockMatrixForm",
1158 "Body",
1159 "BoijSoederberg",
1160 "Book3264Examples",
1161 "BooleanGB",
1162 "Boxes",
1163 "Brackets",
1164 "Browse",
1165 "Bruns",
1166 "cache",
1167 "CacheExampleOutput",
1168 "CallLimit",
1169 "CannedExample",
1170 "CatalanConstant",
1171 "Caveat",
1172 "CellularResolutions",
1173 "Center",
1174 "Certification",
1175 "ChainComplexExtras",
1176 "ChainComplexOperations",
1177 "ChangeMatrix",
1178 "CharacteristicClasses",
1179 "CheckDocumentation",
1180 "Chordal",
1181 "Citation",
1182 "cite",
1183 "Classic",
1184 "clearAll",
1185 "clearOutput",
1186 "close",
1187 "closeIn",
1188 "closeOut",
1189 "ClosestFit",
1190 "Code",
1191 "CodimensionLimit",
1192 "CodingTheory",
1193 "CoefficientRing",
1194 "Cofactor",
1195 "CohenEngine",
1196 "CohenTopLevel",
1197 "CohomCalg",
1198 "CoincidentRootLoci",
1199 "commandLine",
1200 "compactMatrixForm",
1201 "Complement",
1202 "CompleteIntersection",
1203 "CompleteIntersectionResolutions",
1204 "Complexes",
1205 "ConductorElement",
1206 "Configuration",
1207 "ConformalBlocks",
1208 "ConnectionMatrices",
1209 "Consequences",
1210 "Constants",
1211 "Contributors",
1212 "ConvexInterface",
1213 "ConwayPolynomials",
1214 "copyright",
1215 "Core",
1216 "CorrespondenceScrolls",
1217 "CotangentSchubert",
1218 "cotangentSurjection",
1219 "coverageSummary",
1220 "CpMackeyFunctors",
1221 "Cremona",
1222 "currentFileDirectory",
1223 "currentFileName",
1224 "currentLayout",
1225 "currentPackage",
1226 "Cyclotomic",
1227 "Date",
1228 "dd",
1229 "DebuggingMode",
1230 "debuggingMode",
1231 "debugLevel",
1232 "DecomposableSparseSystems",
1233 "Decompose",
1234 "Default",
1235 "defaultPrecision",
1236 "Degree",
1237 "DegreeGroup",
1238 "DegreeLift",
1239 "DegreeLimit",
1240 "DegreeMap",
1241 "DegreeOrder",
1242 "DegreeRank",
1243 "Degrees",
1244 "Dense",
1245 "Density",
1246 "Depth",
1247 "Descending",
1248 "Description",
1249 "DeterminantalRepresentations",
1250 "DGAlgebras",
1251 "dictionaryPath",
1252 "DiffAlg",
1253 "Dispatch",
1254 "DivideConquer",
1255 "DividedPowers",
1256 "Dmodules",
1257 "docExample",
1258 "docTemplate",
1259 "Down",
1260 "Dynamic",
1261 "EagonResolution",
1262 "EdgeIdeals",
1263 "edit",
1264 "EigenSolver",
1265 "EisenbudHunekeVasconcelos",
1266 "Elimination",
1267 "EliminationMatrices",
1268 "EllipticCurves",
1269 "EllipticIntegrals",
1270 "Email",
1271 "embeddedToAbstract",
1272 "end",
1273 "endl",
1274 "Engine",
1275 "engineDebugLevel",
1276 "EngineTests",
1277 "EnumerationCurves",
1278 "environment",
1279 "EquivariantGB",
1280 "errorDepth",
1281 "EulerConstant",
1282 "eulerSequence",
1283 "Example",
1284 "ExampleFiles",
1285 "ExampleSystems",
1286 "Exclude",
1287 "exit",
1288 "Ext",
1289 "ExteriorExtensions",
1290 "ExteriorIdeals",
1291 "ExteriorModules",
1292 "ExtLongExactSequence",
1293 "false",
1294 "FastMinors",
1295 "FastNonminimal",
1296 "FGLM",
1297 "fileDictionaries",
1298 "fileExitHooks",
1299 "FileName",
1300 "FindOne",
1301 "FiniteFittingIdeals",
1302 "First",
1303 "FirstPackage",
1304 "FlatMonoid",
1305 "Flexible",
1306 "flush",
1307 "FollowLinks",
1308 "ForeignFunctions",
1309 "FormalGroupLaws",
1310 "Format",
1311 "FourierMotzkin",
1312 "FourTiTwo",
1313 "fpLLL",
1314 "FrobeniusThresholds",
1315 "FunctionFieldDesingularization",
1316 "GameTheory",
1317 "GBDegrees",
1318 "gbTrace",
1319 "GenerateAssertions",
1320 "Generic",
1321 "GenericInitialIdeal",
1322 "GeometricDecomposability",
1323 "gfanInterface",
1324 "Givens",
1325 "GKMVarieties",
1326 "GLex",
1327 "Global",
1328 "GlobalAssignHook",
1329 "globalAssignmentHooks",
1330 "GlobalHookStore",
1331 "GlobalReleaseHook",
1332 "GlobalSectionLimit",
1333 "Gorenstein",
1334 "GradedLieAlgebras",
1335 "GraphicalModels",
1336 "GraphicalModelsMLE",
1337 "Graphics",
1338 "Graphs",
1339 "GRevLex",
1340 "GroebnerStrata",
1341 "GroebnerWalk",
1342 "GroupLex",
1343 "GroupRevLex",
1344 "GTZ",
1345 "Hadamard",
1346 "handleInterrupts",
1347 "HardDegreeLimit",
1348 "Heading",
1349 "Headline",
1350 "Heft",
1351 "Height",
1352 "help",
1353 "Hermite",
1354 "Hermitian",
1355 "HH",
1356 "hh",
1357 "HigherCIOperators",
1358 "HighestWeights",
1359 "Hilbert",
1360 "HodgeIntegrals",
1361 "HolonomicSystems",
1362 "homeDirectory",
1363 "HomePage",
1364 "Homogeneous",
1365 "Homogeneous2",
1366 "HomologicalAlgebraPackage",
1367 "HomotopyLieAlgebra",
1368 "HorizontalSpace",
1369 "HyperplaneArrangements",
1370 "id",
1371 "idealSheafSequence",
1372 "IgnoreExampleErrors",
1373 "ii",
1374 "IncidenceCorrespondenceCohomology",
1375 "incomparable",
1376 "Increment",
1377 "indeterminate",
1378 "Index",
1379 "indexComponents",
1380 "infinity",
1381 "InfoDirSection",
1382 "infoHelp",
1383 "Inhomogeneous",
1384 "Inputs",
1385 "InstallPrefix",
1386 "IntegerProgramming",
1387 "IntegralClosure",
1388 "interpreterDepth",
1389 "Intersection",
1390 "InvariantRing",
1391 "InverseMethod",
1392 "Inverses",
1393 "InverseSystems",
1394 "Invertible",
1395 "InvolutiveBases",
1396 "Isomorphism",
1397 "Item",
1398 "Iterate",
1399 "Jacobian",
1400 "Jets",
1401 "Join",
1402 "JSON",
1403 "JSONRPC",
1404 "K3Carpets",
1405 "K3Surfaces",
1406 "Keep",
1407 "KeepFiles",
1408 "KeepZeroes",
1409 "Key",
1410 "Keywords",
1411 "Kronecker",
1412 "KustinMiller",
1413 "lastMatch",
1414 "LatticePolytopes",
1415 "Layout",
1416 "Left",
1417 "LengthLimit",
1418 "Lex",
1419 "LexIdeals",
1420 "LieAlgebraRepresentations",
1421 "Limit",
1422 "Linear",
1423 "LinearAlgebra",
1424 "LinearTruncations",
1425 "lineNumber",
1426 "listLocalSymbols",
1427 "listUserSymbols",
1428 "LLLBases",
1429 "loadDepth",
1430 "LoadDocumentation",
1431 "loadedFiles",
1432 "loadedPackages",
1433 "Local",
1434 "LocalRings",
1435 "LongPolynomial",
1436 "M0nbar",
1437 "Macaulay2Doc",
1438 "Maintainer",
1439 "MakeDocumentation",
1440 "MakeHTML",
1441 "MakeInfo",
1442 "MakePDF",
1443 "MapleInterface",
1444 "Markov",
1445 "MatchingFields",
1446 "MatrixFactorizations",
1447 "MatrixSchubert",
1448 "Matroids",
1449 "maxAllowableThreads",
1450 "maxExponent",
1451 "MaximalRank",
1452 "MaxReductionCount",
1453 "MCMApproximations",
1454 "MergeTeX",
1455 "minExponent",
1456 "MinimalGenerators",
1457 "MinimalMatrix",
1458 "minimalPresentationMap",
1459 "minimalPresentationMapInv",
1460 "MinimalPrimes",
1461 "Minimize",
1462 "MinimumVersion",
1463 "Miura",
1464 "MixedMultiplicity",
1465 "ModuleDeformations",
1466 "MonodromySolver",
1467 "Monomial",
1468 "MonomialAlgebras",
1469 "MonomialIntegerPrograms",
1470 "MonomialOrbits",
1471 "MonomialOrder",
1472 "Monomials",
1473 "MonomialSize",
1474 "Msolve",
1475 "MultigradedBGG",
1476 "MultigradedImplicitization",
1477 "MultiGradedRationalMap",
1478 "MultiplicitySequence",
1479 "MultiplierIdeals",
1480 "MultiplierIdealsDim2",
1481 "MultiprojectiveVarieties",
1482 "NAGtypes",
1483 "Name",
1484 "Nauty",
1485 "NautyGraphs",
1486 "NCAlgebra",
1487 "NCLex",
1488 "NewFromMethod",
1489 "newline",
1490 "NewMethod",
1491 "NewOfFromMethod",
1492 "NewOfMethod",
1493 "nil",
1494 "Node",
1495 "NoetherianOperators",
1496 "NoetherNormalization",
1497 "NonminimalComplexes",
1498 "NonPrincipalTestIdeals",
1499 "NoPrint",
1500 "Normaliz",
1501 "NormalToricVarieties",
1502 "NotANumber",
1503 "notify",
1504 "NTL",
1505 "null",
1506 "nullaryMethods",
1507 "NumericalAlgebraicGeometry",
1508 "NumericalCertification",
1509 "NumericalImplicitization",
1510 "NumericalLinearAlgebra",
1511 "NumericalSchubertCalculus",
1512 "NumericalSemigroups",
1513 "NumericSolutions",
1514 "numTBBThreads",
1515 "OIGroebnerBases",
1516 "OldChainComplexes",
1517 "OldPolyhedra",
1518 "OldToricVectorBundles",
1519 "OnlineLookup",
1520 "OO",
1521 "oo",
1522 "ooo",
1523 "oooo",
1524 "OpenMath",
1525 "operatorAttributes",
1526 "OptionalComponentsPresent",
1527 "Options",
1528 "Order",
1529 "order",
1530 "Oscillators",
1531 "OutputDictionary",
1532 "Outputs",
1533 "PackageCitations",
1534 "PackageDictionary",
1535 "PackageExports",
1536 "PackageImports",
1537 "PackageTemplate",
1538 "PairLimit",
1539 "PairsRemaining",
1540 "ParallelF4",
1541 "ParallelizeByDegree",
1542 "Parametrization",
1543 "Parsing",
1544 "path",
1545 "PathSignatures",
1546 "PencilsOfQuadrics",
1547 "Permanents",
1548 "Permutations",
1549 "PHCpack",
1550 "PhylogeneticTrees",
1551 "pi",
1552 "PieriMaps",
1553 "PlaneCurveLinearSeries",
1554 "PlaneCurveSingularities",
1555 "Points",
1556 "Polyhedra",
1557 "Polymake",
1558 "PolyominoIdeals",
1559 "Posets",
1560 "Position",
1561 "PositivityToricBundles",
1562 "POSIX",
1563 "Postfix",
1564 "Pre",
1565 "Precision",
1566 "Prefix",
1567 "prefixDirectory",
1568 "prefixPath",
1569 "PrimaryDecomposition",
1570 "PrimaryTag",
1571 "PrimitiveElement",
1572 "Print",
1573 "printingAccuracy",
1574 "printingLeadLimit",
1575 "printingPrecision",
1576 "printingSeparator",
1577 "printingTimeLimit",
1578 "printingTrailLimit",
1579 "printWidth",
1580 "Probability",
1581 "profileSummary",
1582 "programPaths",
1583 "Projective",
1584 "Prune",
1585 "PruneComplex",
1586 "pruningMap",
1587 "PseudomonomialPrimaryDecomposition",
1588 "Pullback",
1589 "pullbackMaps",
1590 "PushForward",
1591 "pushoutMaps",
1592 "Python",
1593 "QthPower",
1594 "QuadraticIdealExamplesByRoos",
1595 "Quasidegrees",
1596 "QuaternaryQuartics",
1597 "QuillenSuslin",
1598 "quit",
1599 "Quotient",
1600 "Radical",
1601 "RadicalCodim1",
1602 "RaiseError",
1603 "RandomCanonicalCurves",
1604 "RandomComplexes",
1605 "RandomCurves",
1606 "RandomCurvesOverVerySmallFiniteFields",
1607 "RandomGenus14Curves",
1608 "RandomIdeals",
1609 "RandomMonomialIdeals",
1610 "RandomObjects",
1611 "RandomPlaneCurves",
1612 "RandomPoints",
1613 "RandomSpaceCurves",
1614 "Range",
1615 "RationalMaps",
1616 "RationalPoints",
1617 "RationalPoints2",
1618 "ReactionNetworks",
1619 "RealFP",
1620 "RealQP",
1621 "RealQP1",
1622 "RealRoots",
1623 "RealRR",
1624 "RealXD",
1625 "recursionLimit",
1626 "Reduce",
1627 "ReesAlgebra",
1628 "References",
1629 "ReflexivePolytopesDB",
1630 "Regularity",
1631 "RelativeCanonicalResolution",
1632 "Reload",
1633 "RemakeAllDocumentation",
1634 "RerunExamples",
1635 "ResidualIntersections",
1636 "ResLengthThree",
1637 "ResolutionsOfStanleyReisnerRings",
1638 "restart",
1639 "Result",
1640 "Resultants",
1641 "returnCode",
1642 "Reverse",
1643 "RevLex",
1644 "RHom",
1645 "Right",
1646 "RInterface",
1647 "rootPath",
1648 "rootURI",
1649 "RunDirectory",
1650 "RunExamples",
1651 "RunExternalM2",
1652 "SagbiGbDetection",
1653 "Saturation",
1654 "SaturationMap",
1655 "Schubert2",
1656 "SchurComplexes",
1657 "SchurFunctors",
1658 "SchurRings",
1659 "SchurVeronese",
1660 "SCMAlgebras",
1661 "scriptCommandLine",
1662 "SCSCP",
1663 "SectionRing",
1664 "SeeAlso",
1665 "SegreClasses",
1666 "SemidefiniteProgramming",
1667 "Seminormalization",
1668 "SeparateExec",
1669 "Serialization",
1670 "sheafExt",
1671 "ShimoyamaYokoyama",
1672 "showClassStructure",
1673 "showStructure",
1674 "showUserStructure",
1675 "SimpleDoc",
1676 "SimplicialComplexes",
1677 "SimplicialDecomposability",
1678 "SimplicialPosets",
1679 "SimplifyFractions",
1680 "SizeLimit",
1681 "SkewCommutative",
1682 "SlackIdeals",
1683 "SLnEquivariantMatrices",
1684 "SLPexpressions",
1685 "Sort",
1686 "SortStrategy",
1687 "SourceCode",
1688 "SourceRing",
1689 "SpaceCurves",
1690 "SparseResultants",
1691 "SpechtModule",
1692 "SpecialFanoFourfolds",
1693 "SpectralSequences",
1694 "SRdeformations",
1695 "Standard",
1696 "StartWithOneMinor",
1697 "StatePolytope",
1698 "StatGraphs",
1699 "stderr",
1700 "stdio",
1701 "StopBeforeComputation",
1702 "stopIfError",
1703 "StopIteration",
1704 "StopWithMinimalGenerators",
1705 "Strategy",
1706 "Strict",
1707 "StronglyStableIdeals",
1708 "Style",
1709 "SubalgebraBases",
1710 "Subnodes",
1711 "SubringLimit",
1712 "subscript",
1713 "Sugarless",
1714 "SumsOfSquares",
1715 "SuperLinearAlgebra",
1716 "superscript",
1717 "SVDComplexes",
1718 "SwitchingFields",
1719 "SymbolicPowers",
1720 "SymmetricPolynomials",
1721 "Synopsis",
1722 "Syzygies",
1723 "SyzygyLimit",
1724 "SyzygyMatrix",
1725 "SyzygyRows",
1726 "Tableaux",
1727 "TangentCone",
1728 "TateOnProducts",
1729 "TensorComplexes",
1730 "TerraciniLoci",
1731 "Test",
1732 "testExample",
1733 "TestIdeals",
1734 "TeXmacs",
1735 "Text",
1736 "ThinSincereQuivers",
1737 "ThreadedGB",
1738 "Threads",
1739 "Threshold",
1740 "Topcom",
1741 "topLevelMode",
1742 "Tor",
1743 "TorAlgebra",
1744 "Toric",
1745 "ToricHigherDirectImages",
1746 "ToricInvariants",
1747 "ToricTopology",
1748 "ToricVectorBundles",
1749 "Torsion",
1750 "TorsionFree",
1751 "TotalPairs",
1752 "Tree",
1753 "TriangularSets",
1754 "Triangulations",
1755 "Tries",
1756 "Trim",
1757 "Triplets",
1758 "Tropical",
1759 "TropicalToric",
1760 "true",
1761 "Truncate",
1762 "Truncations",
1763 "TSpreadIdeals",
1764 "TypicalValue",
1765 "typicalValues",
1766 "Undo",
1767 "Unique",
1768 "Units",
1769 "Unmixed",
1770 "Up",
1771 "UpdateOnly",
1772 "UpperTriangular",
1773 "Usage",
1774 "UseCachedExampleOutput",
1775 "UseHilbertFunction",
1776 "UserMode",
1777 "UseSyzygies",
1778 "Valuations",
1779 "Variable",
1780 "VariableBaseName",
1781 "Variables",
1782 "Varieties",
1783 "Vasconcelos",
1784 "VectorFields",
1785 "VectorGraphics",
1786 "Verbose",
1787 "Verbosity",
1788 "Verify",
1789 "VersalDeformations",
1790 "Version",
1791 "version",
1792 "VerticalSpace",
1793 "viewHelp",
1794 "VirtualResolutions",
1795 "Visualize",
1796 "VNumber",
1797 "WebApp",
1798 "Weights",
1799 "WeilDivisors",
1800 "WeylAlgebra",
1801 "WeylAlgebras",
1802 "WeylGroups",
1803 "WhitneyStratifications",
1804 "Wrap",
1805 "XML",
1806 "yonedaSheafExtension"
1807 )
1808
1809class Macaulay2Lexer(RegexLexer):
1810 """Lexer for Macaulay2, a software system for research in algebraic geometry."""
1811
1812 name = 'Macaulay2'
1813 url = 'https://macaulay2.com/'
1814 aliases = ['macaulay2']
1815 filenames = ['*.m2']
1816 version_added = '2.12'
1817
1818 tokens = {
1819 'root': [
1820 (r'--.*$', Comment.Single),
1821 (r'-\*', Comment.Multiline, 'block comment'),
1822 (r'"', String, 'quote string'),
1823 (r'///', String, 'slash string'),
1824 (words(M2KEYWORDS, prefix=r'\b', suffix=r'\b'), Keyword),
1825 (words(M2DATATYPES, prefix=r'\b', suffix=r'\b'), Name.Builtin),
1826 (words(M2FUNCTIONS, prefix=r'\b', suffix=r'\b'), Name.Function),
1827 (words(M2CONSTANTS, prefix=r'\b', suffix=r'\b'), Name.Constant),
1828 (r'\s+', Text.Whitespace),
1829 (r'.', Text)
1830 ],
1831 'block comment' : [
1832 (r'[^*-]+', Comment.Multiline),
1833 (r'\*-', Comment.Multiline, '#pop'),
1834 (r'[*-]', Comment.Multiline)
1835 ],
1836 'quote string' : [
1837 (r'[^\\"]+', String),
1838 (r'"', String, '#pop'),
1839 (r'\\"?', String),
1840 ],
1841 'slash string' : [
1842 (r'[^/]+', String),
1843 (r'(//)+(?!/)', String),
1844 (r'/(//)+(?!/)', String, '#pop'),
1845 (r'/', String)
1846 ]
1847 }