From 14b346fa309d306dacd0f992c925bb796a26906b Mon Sep 17 00:00:00 2001 From: rocky Date: Wed, 27 Nov 2024 10:30:41 -0500 Subject: [PATCH] Another pass over operator data mathics_scanner/characters.py: * Clarify "associativity" field. Check validity of field in htestgs * Remove a"actual-precedence" field Change name: characters.json -> character_tables.json to match what it is in Mathics3 Makefile: force mathics_scanner/data/operators.json build more often by including it as a dependency of "build". --- .gitignore | 2 +- .pre-commit-config.yaml | 2 +- Makefile | 12 +- admin-tools/make-tables.sh | 2 +- docs/source/implementation.rst | 19 +- mathics_scanner/characters.py | 2 +- mathics_scanner/data/README.rst | 2 +- mathics_scanner/data/named-characters.yml | 10 +- mathics_scanner/data/operators-intro.yml | 85 ---- mathics_scanner/data/operators.yml | 430 +----------------- .../generate/build_operator_tables.py | 11 +- mathics_scanner/generate/build_tables.py | 2 +- mathics_scanner/load.py | 8 +- pyproject.toml | 2 +- test/test_operators.py | 18 +- 15 files changed, 73 insertions(+), 534 deletions(-) delete mode 100644 mathics_scanner/data/operators-intro.yml diff --git a/.gitignore b/.gitignore index 0e6b501..6982e5e 100644 --- a/.gitignore +++ b/.gitignore @@ -26,7 +26,7 @@ Test/ _Copies_/ _Database_/ build/ -/mathics_scanner/data/characters.json +/mathics_scanner/data/character-tables.json /mathics_scanner/data/operators.json dist/ tmp diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 6e69dc3..6ea022c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,7 +13,7 @@ repos: exclude: ChangeLog-spell-corrected.diff - id: trailing-whitespace - id: check-json - exclude: mathics_scanner/data/characters.json + exclude: mathics_scanner/data/character-tables.json - repo: https://github.com/pycqa/isort rev: 5.13.2 hooks: diff --git a/Makefile b/Makefile index 6f3c8be..77d9f98 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ PIP_INSTALL_OPTS ?= #: Default target - same as "develop" all: develop -mathics_scanner/data/characters.json: mathics_scanner/data/named-characters.yml +mathics_scanner/data/character-tables.json: mathics_scanner/data/named-characters.yml $(PIP) install -r requirements-dev.txt $(PYTHON) mathics_scanner/generate/build_tables.py @@ -31,11 +31,11 @@ mathics_scanner/data/operators.json: mathics_scanner/data/operators.yml $(PYTHON) mathics_scanner/generate/build_operator_tables.py #: build everything needed to install -build: mathics_scanner/data/characters.json +build: mathics_scanner/data/characters.json mathics_scanner/data/operators.json $(PYTHON) ./setup.py build #: Set up to run from the source tree -develop: mathics_scanner/data/characters.json mathics_scanner/data/operators.json +develop: mathics_scanner/data/character-tables.json mathics_scanner/data/operators.json $(PIP) install -e .$(PIP_INSTALL_OPTS) #: Build distribution @@ -56,16 +56,16 @@ check: pytest test: check #: Build Sphinx HTML documentation -doc: mathics_scanner/data/characters.json +doc: mathics_scanner/data/character-tables.json make -C docs html #: Remove derived files clean: @find . -name *.pyc -type f -delete; \ - $(RM) -f mathics_scanner/data/characters.json mathics_scanner/data/operators.json || true + $(RM) -f mathics_scanner/data/character-tables.json mathics_scanner/data/operators.json || true #: Run py.test tests. Use environment variable "o" for pytest options -pytest: mathics_scanner/data/characters.json +pytest: mathics_scanner/data/character-tables.json $(PYTHON) -m pytest test $o #: Print to stdout a GNU Readline inputrc without Unicode diff --git a/admin-tools/make-tables.sh b/admin-tools/make-tables.sh index 6fc6faa..b020579 100755 --- a/admin-tools/make-tables.sh +++ b/admin-tools/make-tables.sh @@ -6,5 +6,5 @@ mydir=$(dirname $bs) PYTHON=${PYTHON:-python} cd $mydir/../mathics_scanner/data -$PYTHON ../generate/build_tables.py -o characters.json +$PYTHON ../generate/build_tables.py -o character-tables.json $PYTHON ../generate/build_operator_tables.py -o operators.json diff --git a/docs/source/implementation.rst b/docs/source/implementation.rst index 0e0f664..0d5054c 100644 --- a/docs/source/implementation.rst +++ b/docs/source/implementation.rst @@ -19,10 +19,10 @@ class) whose names are preceded by ``t_``, such as in the following example: :: # Some logic goes here... pass -A tokenization rule is supposed to take a regular expression match (the -``match`` parameter of type ``re.Match``) and convert it to an appropriate -token, which is then returned by the method. The rule is also responsible for -updating the internal state of the tokeniser, such as incrementing the ``pos`` +A tokenization rule is supposed to take a regular expression match (the +``match`` parameter of type ``re.Match``) and convert it to an appropriate +token, which is then returned by the method. The rule is also responsible for +updating the internal state of the tokeniser, such as incrementing the ``pos`` counter. A rule is always expected to receive sane input. In other words, deciding which @@ -67,7 +67,7 @@ field in the YAML table is set to ``true``. The conversion routines ``replace_wl_with_plain_text`` and ``replace_unicode_with_wl`` use this information to convert between Wolfram's internal format and standard Unicode, but it should be noted that the -conversion scheme is more complex than a simple lookup in the YAML table. +conversion scheme is more complex than a simple lookup in the YAML table. The Conversion Scheme --------------------- @@ -97,7 +97,7 @@ ASCII is the following: replaced by it's Unicode equivalent. - If a character doesn't have a Unicode equivalent or any of the characters of it's Unicode equivalent isn't a valid character then the character is - replaced by it's fully qualified name. + replaced by it's fully qualified name. The ``replace_unicode_with_wl`` function converts text from standard Unicode to Wolfram's internal representation. The algorithm for converting from standard @@ -123,9 +123,9 @@ tests showed that storing the tables as JSON and using `ujson way to access them. However, this is merely an implementation detail and consumers of this library should not rely on this assumption. -The conversion tables are stored in the ``data/characters.json`` file, along +The conversion tables are stored in the ``data/character-tables.json`` file, along side other complementary information used internally by the library. -``data/characters.json`` holds three conversion tables: +``data/character-tables.json`` holds three conversion tables: - The ``wl-to-unicode`` table, which stores the precompiled results of the Wolfram-to-Unicode conversion algorithm. ``wl-to-unicode`` is used for lookup @@ -140,7 +140,7 @@ side other complementary information used internally by the library. when ``replace_unicode_with_wl`` is called. The precompiled translation tables, as well as the rest of data stored in -``data/characters.json``, is generated from the YAML table with the +``data/character-tables.json``, is generated from the YAML table with the ``mathics_scanner.generate.build_tables.compile_tables`` function. Note that multiple entries in the YAML table are redundant in the following @@ -155,4 +155,3 @@ precompiled conversion tables. Such optimization makes the tables smaller and easier to load. This implies that not all named characters that have a Unicode equivalent are included in the precompiled translation tables (the ones that are not included are the ones where no conversion is needed). - diff --git a/mathics_scanner/characters.py b/mathics_scanner/characters.py index 39015a7..de202a5 100644 --- a/mathics_scanner/characters.py +++ b/mathics_scanner/characters.py @@ -24,7 +24,7 @@ def get_srcdir() -> str: ROOT_DIR = get_srcdir() # Load the conversion tables from disk -characters_path = osp.join(ROOT_DIR, "data", "characters.json") +characters_path = osp.join(ROOT_DIR, "data", "character-tables.json") if os.path.exists(characters_path): with open(characters_path, "r") as f: _data = ujson.load(f) diff --git a/mathics_scanner/data/README.rst b/mathics_scanner/data/README.rst index aa1266e..e368bfb 100644 --- a/mathics_scanner/data/README.rst +++ b/mathics_scanner/data/README.rst @@ -11,4 +11,4 @@ Python programs (via ujson). Json output is not formatted in any way to facilitate loaded. To see json output formated use a JSON formatter like ``jq``: - cat characters.json | jq + cat character-tables.json | jq diff --git a/mathics_scanner/data/named-characters.yml b/mathics_scanner/data/named-characters.yml index c31e3da..f58e21e 100644 --- a/mathics_scanner/data/named-characters.yml +++ b/mathics_scanner/data/named-characters.yml @@ -59,7 +59,7 @@ # unicode names that we check against. So if the character # or unicode symbol is not in that, don't use it here. # -# wl-reference: HTML link to the Worlfram Langauge & System document for character. +# wl-reference: HTML link to the Wolfram Langauge & System document for character. # # wl-unicode: The unicode code point used by Mathics internally to represent # the named character. If it is the same as unicode-equivalent @@ -2115,6 +2115,10 @@ Digamma: wl-unicode: "\u03DD" wl-unicode-name: GREEK SMALL LETTER DIGAMMA +# The WL symbol displays with a round dot at the left endpoint. +# The unicode equivalent shows omits this +# When there is a tag over the edge, WL uses a bold variant +# of the symbol. DirectedEdge: amslatex: "\\rightarrow" esc-alias: de @@ -10172,6 +10176,10 @@ UnderParenthesis: wl-unicode: "\uFE36" wl-unicode-name: PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS +# The WL symbol displays with a round dot at each endpoint. +# The unicode equivalent shows arrows at each endpoint. +# When there is a tag over the edge, WL uses a bold variant +# of the symbol. UndirectedEdge: ascii: "<->" esc-alias: ue diff --git a/mathics_scanner/data/operators-intro.yml b/mathics_scanner/data/operators-intro.yml deleted file mode 100644 index b1bb9fb..0000000 --- a/mathics_scanner/data/operators-intro.yml +++ /dev/null @@ -1,85 +0,0 @@ -# Information about Wolfram Language named operators. - -# This information comes largely from Robert L. Jacobson's Table of -# Wolfram Language Operators found at: -# https://github.com/WLTools/LanguageSpec/blob/master/docs/Specification/Syntax/Operator%20Table.csv -# -# We have copy of this in the Mathics-Scanner repository. -# The CSV file has been converted to YAML using mathics_scanner/generate/operator_csv_to_yaml.py -# -# Some operator information attached to individual character names can -# be found in file named-characters.yml. -# -# -# For a description of many of the fields below, see -# https://www.robertjacobson.dev/posts/2018-09-03-generalizing-pemdas-what-is-an-operator/ -# and: -# https://www.robertjacobson.dev/posts/2018-09-04-defining-the-wolfram-language-part-2-operator-properties/ -# -# However, I will summmarize some of the field descriptions. -# -# precedence -# ---------- -# -# Many fields below mention precedence, and the WMA builtin-function -# Precedence[]. When given an operator, this function gives an integer -# used in specifying the order operations occur when one operator is -# juxtaposed against another operator. A higher value means that the -# operator binds before an operator with a lower value. - -# For example, the Times precedence 400 is higher than the Plus -# precedence 310 because a + b * c is a + (b * c), not (a + b) * c. -# Precedence is also used to force multi-character ASCII symbols like -# |-> to get treated as one unit and not split into two operators like -# | and ->. So the precedence of |-> has to be higher than |. -# -# -# arity (https://en.wikipedia.org/wiki/Arity) -# ----- -# -# A fancy word for how many operands (arguments) the operator takes; -# it is some sort of positive integer. Acceptable values found in our table -# are: -# - NullAry (0 arguments), -# - Unary (1 argument), -# - Binary (2 arguments) -# - Ternary (3 arguments) -# - n-ary (n arguments) -# -# -# actual-precedence: a precedence value that programs can use. -# -# Precedence-corrected: the value used in Mathics3. - -# WolframLanguageData: a "PrecedenceRanks" value returned using: -# WolframLanguageData[*operator_name*, "PrecedenceRanks"] -# Example: -# In[1] := WolframLanguageData["AddTo", "PrecedenceRanks"] -# Out[1]= {{expr1 +=expr2 , AddTo[expr1 ,expr2]} -> 73 -# -# Note that 73 uses a diffrent precedence scheme than the one -# given by Precedence and used in Mathics3. -# -# Also Note that WolframLanguageData can also be used to give the -# ASCII and unicode character representations: - -# In[2] := WolframLanguageData["AddTo", "ShortNotations"] -# Out[2]= {+=} -# In[2] := WolframLanguageData["GreaterEqual", "ShortNotations"] -# Out[7]= {>=, ≥} -# -# usage: when it exists, an example of the use of this operator -# -# parse: when "usage" exists, a parse of the example - -# FullForm: when "usage" exists, the FullForm translation of the example - -# associativity: when two or more of the same operator is used, which group to -# evaluate first. One of: -# - None -# - Non -# - Right -# - Left -# - Missing["Unknown"] -# -# meaningful: boolean ?? diff --git a/mathics_scanner/data/operators.yml b/mathics_scanner/data/operators.yml index 7c5251e..de6fa78 100644 --- a/mathics_scanner/data/operators.yml +++ b/mathics_scanner/data/operators.yml @@ -4,13 +4,9 @@ # Wolfram Language Operators found at: # https://github.com/WLTools/LanguageSpec/blob/master/docs/Specification/Syntax/Operator%20Table.csv # -# We have copy of this in the Mathics-Scanner repository. -# The CSV file has been converted to YAML using mathics_scanner/generate/operator_csv_to_yaml.py -# # Some operator information attached to individual character names can # be found in file named-characters.yml. # -# # For a description of many of the fields below, see # https://www.robertjacobson.dev/posts/2018-09-03-generalizing-pemdas-what-is-an-operator/ # and: @@ -51,10 +47,12 @@ # - n-ary (n arguments) # # -# actual-precedence: a precedence value that programs can use. +# Precedence: the value used in Mathics3. +# +# Precedence-Function: when there is a discrepency between what WMA +# reports when using the function Precedence[] and what Mathics3 +# requires, we note that here. # -# Precedence-corrected: the value used in Mathics3. - # WolframLanguageData: a "PrecedenceRanks" value returned using: # WolframLanguageData[*operator_name*, "PrecedenceRanks"] # Example: @@ -72,7 +70,9 @@ # In[2] := WolframLanguageData["GreaterEqual", "ShortNotations"] # Out[7]= {>=, ≥} # -# usage: when it exists, an example of the use of this operator +# usage: when it exists, it is either string containing an example of the use of this +# operator. When it is helpful to give several examples because the operator +# can be used in several forms, the field type is a list of strings. # # parse: when "usage" exists, a parse of the example @@ -80,21 +80,24 @@ # associativity: when two or more of the same operator is used, which group to # evaluate first. This value is used in the Mathics3 parser. The -# value should be one of: +# value should be one of: # - None # - left # - non-associative # - right # - unknown # -# +# an operator tagged as "left" will appear in JSON tables under the key +# "left-binary-operators", "right" will appar in JSON table under the key +# "right-binary-operators", "non-associative" under the key +# "non-associative-operators", "unknown" under the key "miscellaneous-operators", +# and None as "flat_binary_operators. # # meaningful: "true" if WMA defines a meaning for the operator and "false" if not. # See "Operators without Built-in Meanings" # https://reference.wolfram.com/language/tutorial/TextualInputAndOutput.html#41 AddTo: - actual-precedence: 120 precedence: 100 WolframLanguageData: 69 WolframLanguageData-corrected: 69 @@ -115,7 +118,6 @@ AddTo: # Alternatives precedence needs to be greater than Function "|->" which is # 90 so that we don't treat |-> as | ->. Alternatives: - actual-precedence: 190 precedence: 160 WolframLanguageData: 63 WolframLanguageData-corrected: 64 @@ -134,7 +136,6 @@ Alternatives: # comments: True And: - actual-precedence: 290 # Note from Mathics3 code: # HACK: although the should be 215 for all boolean_ops we adjust slightly # to get the subprecedences correct @@ -157,7 +158,6 @@ And: # comments: AngleBracket: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -177,7 +177,6 @@ AngleBracket: # comments: Apply: - actual-precedence: 820 Precedence-Function: 620 precedence: 620 WolframLanguageData: 16 @@ -197,7 +196,6 @@ Apply: # comments: ApplyTo: - actual-precedence: 75 precedence: 75 WolframLanguageData: 76 WolframLanguageData-corrected: 75 @@ -216,7 +214,6 @@ ApplyTo: # comments: None Association: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -236,7 +233,6 @@ Association: # comments: AutoMatch: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -256,7 +252,6 @@ AutoMatch: # comments: Backslash: - actual-precedence: 560 precedence: 460 WolframLanguageData: 32 WolframLanguageData-corrected: 32 @@ -275,7 +270,6 @@ Backslash: # comments: Because: - actual-precedence: 60 precedence: 50 WolframLanguageData: 74 WolframLanguageData-corrected: 74 @@ -294,7 +288,6 @@ Because: # comments: Precedence of Therefore and Because are swapped in notebook versus ToExpression. BlackLenticularBracket: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -314,7 +307,6 @@ BlackLenticularBracket: # comments: Blank: - actual-precedence: 980 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -333,7 +325,6 @@ Blank: # comments: A Blank (_) with no accompanying decoration. BlankHead: - actual-precedence: 1010 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -352,7 +343,6 @@ BlankHead: # comments: BlankNullSequence: - actual-precedence: 980 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -371,7 +361,6 @@ BlankNullSequence: # comments: A BlankNullSequence (___) with no accompanying decoration. BlankNullSequenceHead: - actual-precedence: 1010 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -390,7 +379,6 @@ BlankNullSequenceHead: # comments: BlankOptional: - actual-precedence: 980 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -409,7 +397,6 @@ BlankOptional: # comments: No name or head. BlankSequence: - actual-precedence: 980 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -428,7 +415,6 @@ BlankSequence: # comments: A BlankNullSequence (__) with no accompanying decoration. BlankSequenceHead: - actual-precedence: 1010 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -447,7 +433,6 @@ BlankSequenceHead: # comments: BoxGroup: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -467,7 +452,6 @@ BoxGroup: # comments: The interpretation of this operator depends on context. It must contain box sublanguage. BracketingBar: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -487,7 +471,6 @@ BracketingBar: # comments: Cap: - actual-precedence: 450 precedence: 350 WolframLanguageData: 43 WolframLanguageData-corrected: 42.5 @@ -506,7 +489,6 @@ Cap: # comments: CapitalDifferentialD: - actual-precedence: 720 Precedence-Function: 550 precedence: 560 WolframLanguageData: @@ -526,7 +508,6 @@ CapitalDifferentialD: # comments: Ceiling: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -546,7 +527,6 @@ Ceiling: # comments: CenterDot: - actual-precedence: 510 precedence: 410 WolframLanguageData: WolframLanguageData-corrected: 37 @@ -565,7 +545,6 @@ CenterDot: # comments: CircleDot: - actual-precedence: 660 precedence: 520 WolframLanguageData: 26, 35, 37 WolframLanguageData-corrected: 26 @@ -584,7 +563,6 @@ CircleDot: # comments: CircleMinus: - actual-precedence: 430 precedence: 330 WolframLanguageData: 44 WolframLanguageData-corrected: 44 @@ -603,7 +581,6 @@ CircleMinus: # comments: CirclePlus: - actual-precedence: 430 precedence: 330 WolframLanguageData: 44 WolframLanguageData-corrected: 44 @@ -622,7 +599,6 @@ CirclePlus: # comments: CircleTimes: - actual-precedence: 520 precedence: 420 WolframLanguageData: WolframLanguageData-corrected: 36 @@ -641,7 +617,6 @@ CircleTimes: # comments: ClockwiseContourIntegral: - actual-precedence: 420 Precedence-Function: 670 precedence: 325 WolframLanguageData: @@ -661,7 +636,6 @@ ClockwiseContourIntegral: # comments: Usage and Parse may not be correct. Colon: - actual-precedence: 100 precedence: 80 WolframLanguageData: 71 WolframLanguageData-corrected: 71 @@ -680,7 +654,6 @@ Colon: # comments: Composition: - actual-precedence: 860 Precedence-Function: 625 precedence: 625 WolframLanguageData: 13 @@ -700,7 +673,6 @@ Composition: # comments: CompoundExpression: - actual-precedence: 30 precedence: 10 WolframLanguageData: 77 WolframLanguageData-corrected: 77 @@ -720,7 +692,6 @@ CompoundExpression: # rocky: What's this for? CompoundExpressionNull: - actual-precedence: 30 precedence: 10 WolframLanguageData: 77 WolframLanguageData-corrected: 77 @@ -739,7 +710,6 @@ CompoundExpressionNull: # comments: Condition: - actual-precedence: 170 precedence: 130 WolframLanguageData: 66 WolframLanguageData-corrected: 66 @@ -758,7 +728,6 @@ Condition: # comments: Conditioned: - actual-precedence: 240 precedence: 195 WolframLanguageData: WolframLanguageData-corrected: 59.5 @@ -777,7 +746,6 @@ Conditioned: # comments: Congruent: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -796,7 +764,6 @@ Congruent: # comments: Conjugate: - actual-precedence: 780 Precedence-Function: 670 precedence: 670 WolframLanguageData: 18 @@ -816,7 +783,6 @@ Conjugate: # comments: ConjugateTranspose: - actual-precedence: 780 Precedence-Function: 670 precedence: 670 WolframLanguageData: 18 @@ -836,7 +802,6 @@ ConjugateTranspose: # comments: ContextPathSeparator: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -856,7 +821,6 @@ ContextPathSeparator: # comments: Functions similiar to decimal point for numbers: either contextpath1 or contextpath2 may be empty, but not both at the same time. ContourIntegral: - actual-precedence: 420 Precedence-Function: 670 precedence: 325 WolframLanguageData: @@ -876,7 +840,6 @@ ContourIntegral: # comments: Usage and Parse may not be correct. Coproduct: - actual-precedence: 460 precedence: 360 WolframLanguageData: 42 WolframLanguageData-corrected: 42 @@ -895,7 +858,6 @@ Coproduct: # comments: CornerBracket: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -915,7 +877,6 @@ CornerBracket: # comments: CounterClockwiseContourIntegral: - actual-precedence: 420 Precedence-Function: 670 precedence: 325 WolframLanguageData: @@ -935,7 +896,6 @@ CounterClockwiseContourIntegral: # comments: Usage and Parse may not be correct. Cross: - actual-precedence: 640 precedence: 500 WolframLanguageData: 28 WolframLanguageData-corrected: 28 @@ -954,7 +914,6 @@ Cross: # comments: Cup: - actual-precedence: 440 precedence: 340 WolframLanguageData: 43 WolframLanguageData-corrected: 43 @@ -973,7 +932,6 @@ Cup: # comments: CupCap: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -992,7 +950,6 @@ CupCap: # comments: Curl: - actual-precedence: 590 Precedence-Function: 670 precedence: 485 WolframLanguageData: @@ -1012,7 +969,6 @@ Curl: # comments: Usage and Parse may not be correct. CurlyDoubleQuote: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -1032,7 +988,6 @@ CurlyDoubleQuote: # comments: CurlyQuote: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -1052,7 +1007,6 @@ CurlyQuote: # comments: Decrement: - actual-precedence: 880 Precedence-Function: 660 precedence: 660 WolframLanguageData: 11 @@ -1074,7 +1028,6 @@ Decrement: # Definition precedence needs to be greater than Information "??" which is # 5001 so that we don't treat ?? as ? ?. Definition: - actual-precedence: 670 precedence: 5000 # Seems a bit extreme. This is the old Mathics data. WolframLanguageData: None WolframLanguageData-corrected: None @@ -1093,7 +1046,6 @@ Definition: # comments: None Del: - actual-precedence: 710 precedence: 550 WolframLanguageData: 24 WolframLanguageData-corrected: 24 @@ -1112,7 +1064,6 @@ Del: # comments: Derivative: - actual-precedence: 770 precedence: 670 WolframLanguageData: 19 WolframLanguageData-corrected: 19 @@ -1131,7 +1082,6 @@ Derivative: # comments: None Diamond: - actual-precedence: 550 precedence: 450 WolframLanguageData: 33 WolframLanguageData-corrected: 33 @@ -1150,7 +1100,6 @@ Diamond: # comments: DifferenceDelta: - actual-precedence: 710 precedence: 550 WolframLanguageData: 24 WolframLanguageData-corrected: 24 @@ -1169,7 +1118,6 @@ DifferenceDelta: # comments: Usage and Parse may not be correct. DifferentialD: - actual-precedence: 720 Precedence-Function: 550 precedence: 560 WolframLanguageData: @@ -1189,7 +1137,6 @@ DifferentialD: # comments: DirectedEdge: - actual-precedence: 370 precedence: 128 WolframLanguageData: WolframLanguageData-corrected: 49 @@ -1208,7 +1155,6 @@ DirectedEdge: # comments: DiscreteRatio: - actual-precedence: 710 precedence: 550 WolframLanguageData: 24 WolframLanguageData-corrected: 24 @@ -1227,7 +1173,6 @@ DiscreteRatio: # comments: Usage and Parse may not be correct. DiscreteShift: - actual-precedence: 710 precedence: 550 WolframLanguageData: 24 WolframLanguageData-corrected: 24 @@ -1246,7 +1191,6 @@ DiscreteShift: # comments: Usage and Parse may not be correct. Distributed: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -1265,7 +1209,6 @@ Distributed: # comments: Divergence: - actual-precedence: 590 Precedence-Function: 550 precedence: 485 WolframLanguageData: @@ -1285,7 +1228,6 @@ Divergence: # comments: Usage and Parse may not be correct. Divide: - actual-precedence: 570 precedence: 470 WolframLanguageData: 31 WolframLanguageData-corrected: 31 @@ -1304,7 +1246,6 @@ Divide: # comments: DivideBy: - actual-precedence: 120 precedence: 100 WolframLanguageData: 69 WolframLanguageData-corrected: 69 @@ -1323,7 +1264,6 @@ DivideBy: # comments: Divides: - actual-precedence: 570 Precedence-Function: 670 precedence: 470 WolframLanguageData: @@ -1343,7 +1283,6 @@ Divides: # comments: Dot: - actual-precedence: 630 precedence: 490 WolframLanguageData: 29 WolframLanguageData-corrected: 29 @@ -1362,7 +1301,6 @@ Dot: # comments: DotEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -1381,7 +1319,6 @@ DotEqual: # comments: DoubleAngleBracket: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -1401,7 +1338,6 @@ DoubleAngleBracket: # comments: DoubleBracketingBar: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData-corrected: 1 @@ -1420,7 +1356,6 @@ DoubleBracketingBar: # comments: DoubleContourIntegral: - actual-precedence: 420 Precedence-Function: 670 precedence: 325 WolframLanguageData: @@ -1440,7 +1375,6 @@ DoubleContourIntegral: # comments: Usage and Parse may not be correct. DoubleDownArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1459,7 +1393,6 @@ DoubleDownArrow: # comments: DoubleLeftArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1478,7 +1411,6 @@ DoubleLeftArrow: # comments: DoubleLeftRightArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1497,7 +1429,6 @@ DoubleLeftRightArrow: # comments: DoubleLeftTee: - actual-precedence: 220 precedence: 190 WolframLanguageData: 60 WolframLanguageData-corrected: 60 @@ -1516,7 +1447,6 @@ DoubleLeftTee: # comments: DoubleLongLeftArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1535,7 +1465,6 @@ DoubleLongLeftArrow: # comments: DoubleLongLeftRightArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1554,7 +1483,6 @@ DoubleLongLeftRightArrow: # comments: DoubleLongRightArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1573,7 +1501,6 @@ DoubleLongRightArrow: # comments: DoubleRightArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1592,7 +1519,6 @@ DoubleRightArrow: # comments: DoubleRightTee: - actual-precedence: 230 precedence: 190 WolframLanguageData: WolframLanguageData-corrected: 59.6 @@ -1611,7 +1537,6 @@ DoubleRightTee: # comments: DoubleUpArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1630,7 +1555,6 @@ DoubleUpArrow: # comments: DoubleUpDownArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1649,7 +1573,6 @@ DoubleUpDownArrow: # comments: DoubleVerticalBar: - actual-precedence: 350 precedence: 280 WolframLanguageData: 50 WolframLanguageData-corrected: 50.5 @@ -1668,7 +1591,6 @@ DoubleVerticalBar: # comments: DownArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1687,7 +1609,6 @@ DownArrow: # comments: DownArrowBar: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1706,7 +1627,6 @@ DownArrowBar: # comments: DownArrowUpArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1725,7 +1645,6 @@ DownArrowUpArrow: # comments: DownLeftRightVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1744,7 +1663,6 @@ DownLeftRightVector: # comments: DownLeftTeeVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1763,7 +1681,6 @@ DownLeftTeeVector: # comments: DownLeftVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1782,7 +1699,6 @@ DownLeftVector: # comments: DownLeftVectorBar: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1801,7 +1717,6 @@ DownLeftVectorBar: # comments: DownRightTeeVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1820,7 +1735,6 @@ DownRightTeeVector: # comments: DownRightVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1839,7 +1753,6 @@ DownRightVector: # comments: DownRightVectorBar: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -1858,7 +1771,6 @@ DownRightVectorBar: # comments: DownTee: - actual-precedence: 220 precedence: 190 WolframLanguageData: 60 WolframLanguageData-corrected: 60 @@ -1877,7 +1789,6 @@ DownTee: # comments: DownTeeArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -1896,7 +1807,6 @@ DownTeeArrow: # comments: Element: - actual-precedence: 320 precedence: 250 WolframLanguageData: 52 WolframLanguageData-corrected: 52 @@ -1915,7 +1825,6 @@ Element: # comments: Equal: - actual-precedence: 360 precedence: 290 WolframLanguageData: 50 WolframLanguageData-corrected: 50 @@ -1934,7 +1843,6 @@ Equal: # comments: EqualTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -1953,7 +1861,6 @@ EqualTilde: # comments: Equilibrium: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -1972,7 +1879,6 @@ Equilibrium: # comments: Equivalent: - actual-precedence: 260 precedence: 205 WolframLanguageData: 58 WolframLanguageData-corrected: 58 @@ -1991,7 +1897,6 @@ Equivalent: # comments: Exists: - actual-precedence: 310 precedence: 240 WolframLanguageData: 53 WolframLanguageData-corrected: 53 @@ -2010,7 +1915,6 @@ Exists: Factorial: - actual-precedence: 790 precedence: 610 WolframLanguageData: 17 WolframLanguageData-corrected: 17 @@ -2029,7 +1933,6 @@ Factorial: # comments: Factorial2: - actual-precedence: 790 precedence: 610 WolframLanguageData: 17 WolframLanguageData-corrected: 17 @@ -2048,7 +1951,6 @@ Factorial2: # comments: Floor: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -2068,7 +1970,6 @@ Floor: # comments: ForAll: - actual-precedence: 310 precedence: 240 WolframLanguageData: 53 WolframLanguageData-corrected: 53 @@ -2086,7 +1987,6 @@ ForAll: # comments: Usage and Parse may not be correct. FormBox: - actual-precedence: 20 Precedence-Function: 670 precedence: 5 WolframLanguageData: 78 @@ -2105,7 +2005,6 @@ FormBox: # comments: FractionBox: - actual-precedence: 570 Precedence-Function: 670 precedence: 470 WolframLanguageData: @@ -2124,7 +2023,6 @@ FractionBox: # comments: FullwidthAngleBracket: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -2143,7 +2041,6 @@ FullwidthAngleBracket: # comments: FullwidthCurlyBracket: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -2162,7 +2059,6 @@ FullwidthCurlyBracket: # comments: FullwidthParenthesis: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -2181,7 +2077,6 @@ FullwidthParenthesis: # comments: FullwidthSquareBracket: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -2202,7 +2097,6 @@ FullwidthSquareBracket: # Function needs to be greater than Alternative "|" which is # 160 so that we don't treat |-> as | ->. Function: - actual-precedence: 110 precedence: 90 WolframLanguageData: 70 WolframLanguageData-corrected: 70 @@ -2221,7 +2115,6 @@ Function: # comments: FunctionApply: - actual-precedence: 890 precedence: 670 WolframLanguageData: WolframLanguageData-corrected: 10 @@ -2240,7 +2133,6 @@ FunctionApply: # comments: FunctionApplyInfix: - actual-precedence: 830 precedence: 630 WolframLanguageData: WolframLanguageData-corrected: 15 @@ -2259,7 +2151,6 @@ FunctionApplyInfix: # comments: Infix[f[x,y]] will display as x~f~y. Precedence identifies Infix with this operator, and Precedence[Infix]==30 which is almost correct. FunctionApplyPostfix: - actual-precedence: 90 precedence: 70 WolframLanguageData: WolframLanguageData-corrected: 72 @@ -2278,7 +2169,6 @@ FunctionApplyPostfix: # comments: Postfix[f[x]] will display as x//f. Precedence identifies Postfix with this operator. FunctionApplyPrefix: - actual-precedence: 840 precedence: 640 WolframLanguageData: WolframLanguageData-corrected: 14 @@ -2297,7 +2187,6 @@ FunctionApplyPrefix: # comments: Operator Notations includes usages with invisible unicode characters. Get: - actual-precedence: 970 precedence: 720 WolframLanguageData: 6 WolframLanguageData-corrected: 6 @@ -2316,7 +2205,6 @@ Get: # comments: Gradient: - actual-precedence: 700 Precedence-Function: 550 precedence: 545 WolframLanguageData: @@ -2335,7 +2223,6 @@ Gradient: # comments: Usage and Parse may not be correct. Greater: - actual-precedence: 360 precedence: 290 WolframLanguageData: 50 WolframLanguageData-corrected: 50 @@ -2354,7 +2241,6 @@ Greater: # comments: GreaterEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: 50 WolframLanguageData-corrected: 50 @@ -2373,7 +2259,6 @@ GreaterEqual: # comments: GreaterEqualLess: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -2392,7 +2277,6 @@ GreaterEqualLess: # comments: GreaterFullEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -2411,7 +2295,6 @@ GreaterFullEqual: # comments: GreaterGreater: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -2430,7 +2313,6 @@ GreaterGreater: # comments: GreaterLess: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -2449,7 +2331,6 @@ GreaterLess: # comments: GreaterSlantEqual: - actual-precedence: 360 Precedence-Function: 670 precedence: 290 WolframLanguageData: @@ -2469,7 +2350,6 @@ GreaterSlantEqual: # comments: GreaterTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -2488,7 +2368,6 @@ GreaterTilde: # comments: HumpDownHump: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -2507,7 +2386,6 @@ HumpDownHump: # comments: HumpEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -2526,7 +2404,6 @@ HumpEqual: # comments: ImplicitSequence: - actual-precedence: 10 Precedence-Function: 670 precedence: 755 WolframLanguageData: @@ -2546,7 +2423,6 @@ ImplicitSequence: # comments: Operator Notations includes usages with invisible unicode characters. Implies: - actual-precedence: 250 precedence: 200 WolframLanguageData: 59 WolframLanguageData-corrected: 59 @@ -2565,7 +2441,6 @@ Implies: # comments: Increment: - actual-precedence: 880 Precedence-Function: 660 precedence: 660 WolframLanguageData: 11 @@ -2605,7 +2480,6 @@ Infix: # Information precedence needs to be less than Definition "?" which is # 5000 so that we don't treat ?? as ? ?. Information: - actual-precedence: 670 precedence: 5001 # Seems a bit extreme. This is the old Mathics data WolframLanguageData: None WolframLanguageData-corrected: None @@ -2624,7 +2498,6 @@ Information: # comments: None InlinePart: - actual-precedence: 900 Precedence-Function: 670 precedence: 675 WolframLanguageData: @@ -2644,7 +2517,6 @@ InlinePart: # comments: "InlinePart or @> was an operator that was introduced in one of the pre-release/betas for version 10 and subsequently removed before public release. It was briefly available publicly in the Raspberry Pi version of Wolfram Language that co-existed with the pre-releases at the time. The operator allowed you to access elements of a list with an infix operator." https://mathematica.stackexchange.com/questions/134506/inlinepart-what-is-it-and-what-happened-to-it Integrate: - actual-precedence: 420 precedence: 325 WolframLanguageData: 23 WolframLanguageData-corrected: 45 @@ -2663,7 +2535,6 @@ Integrate: # comments: InterpretationBox: - actual-precedence: 930 Precedence-Function: 670 precedence: 695 WolframLanguageData: @@ -2682,7 +2553,6 @@ InterpretationBox: # comments: InterpretedBox: - actual-precedence: 670 precedence: 670 WolframLanguageData: None WolframLanguageData-corrected: None @@ -2701,7 +2571,6 @@ InterpretedBox: # comments: None Intersection: - actual-precedence: 390 precedence: 305 WolframLanguageData: 47 WolframLanguageData-corrected: 47 @@ -2720,7 +2589,6 @@ Intersection: # comments: InvisiblePostfixScriptBase: - actual-precedence: 960 Precedence-Function: 670 precedence: 715 WolframLanguageData: @@ -2739,7 +2607,6 @@ InvisiblePostfixScriptBase: # comments: This operator is an invisible Unicode character and is used in the layout of displayed expressions. InvisiblePrefixScriptBase: - actual-precedence: 960 Precedence-Function: 670 precedence: 715 WolframLanguageData: @@ -2758,7 +2625,6 @@ InvisiblePrefixScriptBase: # comments: Usage and Parse may not be correct. Laplacian: - actual-precedence: 710 Precedence-Function: 670 precedence: 550 WolframLanguageData: @@ -2777,7 +2643,6 @@ Laplacian: # comments: Usage and Parse may not be correct. LeftArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -2796,7 +2661,6 @@ LeftArrow: # comments: LeftArrowBar: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -2815,7 +2679,6 @@ LeftArrowBar: # comments: LeftArrowRightArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -2834,7 +2697,6 @@ LeftArrowRightArrow: # comments: LeftDownTeeVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -2853,7 +2715,6 @@ LeftDownTeeVector: # comments: LeftDownVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -2872,7 +2733,6 @@ LeftDownVector: # comments: LeftDownVectorBar: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -2891,7 +2751,6 @@ LeftDownVectorBar: # comments: LeftRightArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -2910,7 +2769,6 @@ LeftRightArrow: # comments: LeftRightVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -2929,7 +2787,6 @@ LeftRightVector: # comments: LeftTee: - actual-precedence: 220 precedence: 190 WolframLanguageData: 60 WolframLanguageData-corrected: 60 @@ -2948,7 +2805,6 @@ LeftTee: # comments: LeftTeeArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -2967,7 +2823,6 @@ LeftTeeArrow: # comments: LeftTeeVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -2986,7 +2841,6 @@ LeftTeeVector: # comments: LeftTriangle: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3005,7 +2859,6 @@ LeftTriangle: # comments: LeftTriangleBar: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3024,7 +2877,6 @@ LeftTriangleBar: # comments: LeftTriangleEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3043,7 +2895,6 @@ LeftTriangleEqual: # comments: LeftUpDownVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -3062,7 +2913,6 @@ LeftUpDownVector: # comments: LeftUpTeeVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -3081,7 +2931,6 @@ LeftUpTeeVector: # comments: LeftUpVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -3100,7 +2949,6 @@ LeftUpVector: # comments: LeftUpVectorBar: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -3119,7 +2967,6 @@ LeftUpVectorBar: # comments: LeftVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -3138,7 +2985,6 @@ LeftVector: # comments: LeftVectorBar: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -3157,7 +3003,6 @@ LeftVectorBar: # comments: Less: - actual-precedence: 360 precedence: 290 WolframLanguageData: 50 WolframLanguageData-corrected: 50 @@ -3176,7 +3021,6 @@ Less: # comments: LessEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: 50 WolframLanguageData-corrected: 50 @@ -3195,7 +3039,6 @@ LessEqual: # comments: LessEqualGreater: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3214,7 +3057,6 @@ LessEqualGreater: # comments: LessFullEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3233,7 +3075,6 @@ LessFullEqual: # comments: LessGreater: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3252,7 +3093,6 @@ LessGreater: # comments: LessLess: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3271,7 +3111,6 @@ LessLess: # comments: LessSlantEqual: - actual-precedence: 360 Precedence-Function: 670 precedence: 290 WolframLanguageData: @@ -3291,7 +3130,6 @@ LessSlantEqual: # comments: LessTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3310,7 +3148,6 @@ LessTilde: # comments: Limit: - actual-precedence: 410 precedence: 320 WolframLanguageData: WolframLanguageData-corrected: 45.5 @@ -3328,7 +3165,6 @@ Limit: # comments: Usage and Parse may not be correct. List: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: 1 @@ -3348,7 +3184,6 @@ List: # comments: LongLeftArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -3367,7 +3202,6 @@ LongLeftArrow: # comments: LongLeftRightArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -3386,7 +3220,6 @@ LongLeftRightArrow: # comments: LongRightArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -3405,7 +3238,6 @@ LongRightArrow: # comments: LowerLeftArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -3424,7 +3256,6 @@ LowerLeftArrow: # comments: LowerRightArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -3443,7 +3274,6 @@ LowerRightArrow: # comments: Map: - actual-precedence: 800 precedence: 620 WolframLanguageData: 16 WolframLanguageData-corrected: 16 @@ -3462,7 +3292,6 @@ Map: # comments: MapAll: - actual-precedence: 800 precedence: 620 WolframLanguageData: 16 WolframLanguageData-corrected: 16 @@ -3481,7 +3310,6 @@ MapAll: # comments: MapApply: - actual-precedence: 810 Precedence-Function: 620 precedence: 625 WolframLanguageData: 16 @@ -3501,7 +3329,6 @@ MapApply: # comments: MaxLimit: - actual-precedence: 410 precedence: 320 WolframLanguageData: WolframLanguageData-corrected: 45.5 @@ -3519,7 +3346,6 @@ MaxLimit: # comments: Usage and Parse may not be correct. MessageName: - actual-precedence: 1060 precedence: 750 WolframLanguageData: 2 WolframLanguageData-corrected: 2 @@ -3538,7 +3364,6 @@ MessageName: # comments: MinLimit: - actual-precedence: 410 precedence: 320 WolframLanguageData: WolframLanguageData-corrected: 45.5 @@ -3556,7 +3381,6 @@ MinLimit: # comments: Usage and Parse may not be correct. Minus: - actual-precedence: 580 precedence: 480 WolframLanguageData: 30 WolframLanguageData-corrected: 30 @@ -3575,7 +3399,6 @@ Minus: # comments: Operator Notations includes usages with invisible unicode characters. MinusPlus: - actual-precedence: 400 precedence: 310 WolframLanguageData: 46 WolframLanguageData-corrected: 46 @@ -3594,7 +3417,6 @@ MinusPlus: # comments: NamedBlank: - actual-precedence: 990 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -3613,7 +3435,6 @@ NamedBlank: # comments: NamedBlankHead: - actual-precedence: 1000 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -3632,7 +3453,6 @@ NamedBlankHead: # comments: NamedBlankNullSequence: - actual-precedence: 990 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -3651,7 +3471,6 @@ NamedBlankNullSequence: # comments: NamedBlankNullSequenceHead: - actual-precedence: 1000 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -3670,7 +3489,6 @@ NamedBlankNullSequenceHead: # comments: NamedBlankOptional: - actual-precedence: 990 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -3689,7 +3507,6 @@ NamedBlankOptional: # comments: NamedBlankSequence: - actual-precedence: 990 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -3708,7 +3525,6 @@ NamedBlankSequence: # comments: NamedBlankSequenceHead: - actual-precedence: 1000 precedence: 730 WolframLanguageData: 5 WolframLanguageData-corrected: 5 @@ -3727,7 +3543,6 @@ NamedBlankSequenceHead: # comments: Nand: - actual-precedence: 290 Precedence-Function: 215 precedence: 225 WolframLanguageData: 55 @@ -3747,7 +3562,6 @@ Nand: # comments: NestedGreaterGreater: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3766,7 +3580,6 @@ NestedGreaterGreater: # comments: NestedLessLess: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3785,7 +3598,6 @@ NestedLessLess: # comments: NonCommutativeMultiply: - actual-precedence: 650 precedence: 510 WolframLanguageData: 27 WolframLanguageData-corrected: 27 @@ -3804,7 +3616,6 @@ NonCommutativeMultiply: # comments: Nor: - actual-precedence: 270 Precedence-Function: 215 precedence: 215 WolframLanguageData: 57 @@ -3824,7 +3635,6 @@ Nor: # comments: Not: - actual-precedence: 300 precedence: 230 WolframLanguageData: 54 WolframLanguageData-corrected: 54 @@ -3843,7 +3653,6 @@ Not: # comments: NotCongruent: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3862,7 +3671,6 @@ NotCongruent: # comments: NotCupCap: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3881,7 +3689,6 @@ NotCupCap: # comments: NotDoubleVerticalBar: - actual-precedence: 350 precedence: 280 WolframLanguageData: 50 WolframLanguageData-corrected: 50.5 @@ -3900,7 +3707,6 @@ NotDoubleVerticalBar: # comments: NotElement: - actual-precedence: 320 precedence: 250 WolframLanguageData: 52 WolframLanguageData-corrected: 52 @@ -3919,7 +3725,6 @@ NotElement: # comments: NotEqualTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3938,7 +3743,6 @@ NotEqualTilde: # comments: NotExists: - actual-precedence: 310 precedence: 240 WolframLanguageData: 53 WolframLanguageData-corrected: 53 @@ -3956,7 +3760,6 @@ NotExists: # comments: Usage and Parse may not be correct. NotGreater: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3975,7 +3778,6 @@ NotGreater: # comments: NotGreaterEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -3994,7 +3796,6 @@ NotGreaterEqual: # comments: NotGreaterFullEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4013,7 +3814,6 @@ NotGreaterFullEqual: # comments: NotGreaterGreater: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4032,7 +3832,6 @@ NotGreaterGreater: # comments: NotGreaterLess: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4051,7 +3850,6 @@ NotGreaterLess: # comments: NotGreaterSlantEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4070,7 +3868,6 @@ NotGreaterSlantEqual: # comments: NotGreaterTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4089,7 +3886,6 @@ NotGreaterTilde: # comments: NotHumpDownHump: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4108,7 +3904,6 @@ NotHumpDownHump: # comments: NotHumpEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4127,7 +3922,6 @@ NotHumpEqual: # comments: NotLeftTriangle: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4146,7 +3940,6 @@ NotLeftTriangle: # comments: NotLeftTriangleBar: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4165,7 +3958,6 @@ NotLeftTriangleBar: # comments: NotLeftTriangleEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4184,7 +3976,6 @@ NotLeftTriangleEqual: # comments: NotLess: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4203,7 +3994,6 @@ NotLess: # comments: NotLessEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4222,7 +4012,6 @@ NotLessEqual: # comments: NotLessFullEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4241,7 +4030,6 @@ NotLessFullEqual: # comments: NotLessGreater: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4260,7 +4048,6 @@ NotLessGreater: # comments: NotLessLess: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4279,7 +4066,6 @@ NotLessLess: # comments: NotLessSlantEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4298,7 +4084,6 @@ NotLessSlantEqual: # comments: NotLessTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4317,7 +4102,6 @@ NotLessTilde: # comments: NotNestedGreaterGreater: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4336,7 +4120,6 @@ NotNestedGreaterGreater: # comments: NotNestedLessLess: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4355,7 +4138,6 @@ NotNestedLessLess: # comments: NotPrecedes: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4374,7 +4156,6 @@ NotPrecedes: # comments: NotPrecedesEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4393,7 +4174,6 @@ NotPrecedesEqual: # comments: NotPrecedesSlantEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4412,7 +4192,6 @@ NotPrecedesSlantEqual: # comments: NotPrecedesTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4431,7 +4210,6 @@ NotPrecedesTilde: # comments: NotReverseElement: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -4450,7 +4228,6 @@ NotReverseElement: # comments: NotRightTriangle: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4469,7 +4246,6 @@ NotRightTriangle: # comments: NotRightTriangleBar: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4488,7 +4264,6 @@ NotRightTriangleBar: # comments: NotRightTriangleEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4507,7 +4282,6 @@ NotRightTriangleEqual: # comments: NotSquareSubset: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -4526,7 +4300,6 @@ NotSquareSubset: # comments: NotSquareSubsetEqual: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -4545,7 +4318,6 @@ NotSquareSubsetEqual: # comments: NotSquareSuperset: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -4564,7 +4336,6 @@ NotSquareSuperset: # comments: NotSquareSupersetEqual: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -4583,7 +4354,6 @@ NotSquareSupersetEqual: # comments: NotSubset: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -4602,7 +4372,6 @@ NotSubset: # comments: NotSubsetEqual: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -4621,7 +4390,6 @@ NotSubsetEqual: # comments: NotSucceeds: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4640,7 +4408,6 @@ NotSucceeds: # comments: NotSucceedsEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4659,7 +4426,6 @@ NotSucceedsEqual: # comments: NotSucceedsSlantEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4678,7 +4444,6 @@ NotSucceedsSlantEqual: # comments: NotSucceedsTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4697,7 +4462,6 @@ NotSucceedsTilde: # comments: NotSuperset: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -4716,7 +4480,6 @@ NotSuperset: # comments: NotSupersetEqual: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -4735,7 +4498,6 @@ NotSupersetEqual: # comments: NotTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4754,7 +4516,6 @@ NotTilde: # comments: NotTildeEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4773,7 +4534,6 @@ NotTildeEqual: # comments: NotTildeFullEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4792,7 +4552,6 @@ NotTildeFullEqual: # comments: NotTildeTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -4811,7 +4570,6 @@ NotTildeTilde: # comments: NotVerticalBar: - actual-precedence: 350 precedence: 280 WolframLanguageData: 50 WolframLanguageData-corrected: 50.5 @@ -4830,7 +4588,6 @@ NotVerticalBar: # comments: NumberBase: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -4850,7 +4607,6 @@ NumberBase: # comments: Interprets digits as a number literal in base n. The base n must be a positive integer no greater than 36. NumberMagnitude: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -4870,7 +4626,6 @@ NumberMagnitude: # comments: Gives mantissa*base^magnitude, where base^^mantissa=number and magnitude is a decimal number expressed without ^^, `, or ``. Only allowed in a number literal, and only after any ` or ``. NumberPrecision: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -4890,7 +4645,6 @@ NumberPrecision: # comments: Specifies the precision of number, where s is a positive decimal expressed without using ^^ or `. Any magnitude must come after `." NumberPrecisionPostfix: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -4910,7 +4664,6 @@ NumberPrecisionPostfix: # comments: Specifies the precision of number to be $MachinePrecision. Any magnitude must come after `." Optional: - actual-precedence: 190 precedence: 140 WolframLanguageData: 64 WolframLanguageData-corrected: 64 @@ -4929,7 +4682,6 @@ Optional: # comments: Or: - actual-precedence: 270 Precedence-Function: 215 precedence: 215 WolframLanguageData: 57 @@ -4949,7 +4701,6 @@ Or: # comments: Out: - actual-precedence: 1030 Precedence-Function: 670 precedence: 735 WolframLanguageData: 4 @@ -4969,7 +4720,6 @@ Out: # comments: OutNumber: - actual-precedence: 1020 Precedence-Function: 670 precedence: 735 WolframLanguageData: 4 @@ -4989,7 +4739,6 @@ OutNumber: # comments: OverscriptBox: - actual-precedence: 950 Precedence-Function: 670 precedence: 710 WolframLanguageData: 7 @@ -5008,7 +4757,6 @@ OverscriptBox: # comments: OverunderscriptBox: - actual-precedence: 940 Precedence-Function: 670 precedence: 700 WolframLanguageData: 7 @@ -5027,7 +4775,6 @@ OverunderscriptBox: # comments: ParameterizedFunction: - actual-precedence: 50 Precedence-Function: 90 precedence: 40 WolframLanguageData: 75 @@ -5047,7 +4794,6 @@ ParameterizedFunction: # comments: The arrow form of Function. Parentheses: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -5066,7 +4812,6 @@ Parentheses: # comments: Part: - actual-precedence: 890 precedence: 670 WolframLanguageData: 10 WolframLanguageData-corrected: 10 @@ -5085,7 +4830,6 @@ Part: # comments: PartialD: - actual-precedence: 710 Precedence-Function: 670 precedence: 550 WolframLanguageData: 24 @@ -5104,7 +4848,6 @@ PartialD: # comments: Usage and Parse may not be correct. PartialFractionBox: - actual-precedence: 570 Precedence-Function: 670 precedence: 470 WolframLanguageData: @@ -5123,7 +4866,6 @@ PartialFractionBox: # comments: This operator is an invisible Unicode character and is used in the layout of displayed expressions. PartialOverscriptBox: - actual-precedence: 950 Precedence-Function: 670 precedence: 710 WolframLanguageData: @@ -5143,7 +4885,6 @@ PartialOverscriptBox: # comments: This operator is an invisible Unicode character and is used in the layout of displayed expressions. PartialSubscriptBox: - actual-precedence: 920 Precedence-Function: 670 precedence: 690 WolframLanguageData: @@ -5163,7 +4904,6 @@ PartialSubscriptBox: # comments: This operator is an invisible Unicode character and is used in the layout of displayed expressions. PartialSuperscriptBox: - actual-precedence: 750 Precedence-Function: 670 precedence: 590 WolframLanguageData: @@ -5183,7 +4923,6 @@ PartialSuperscriptBox: # comments: This operator is an invisible Unicode character and is used in the layout of displayed expressions. PartialUnderscriptBox: - actual-precedence: 950 Precedence-Function: 670 precedence: 710 WolframLanguageData: @@ -5203,7 +4942,6 @@ PartialUnderscriptBox: # comments: This operator is an invisible Unicode character and is used in the layout of displayed expressions. Pattern: - actual-precedence: 190 precedence: 150 WolframLanguageData: 64 WolframLanguageData-corrected: 64 @@ -5222,7 +4960,6 @@ Pattern: # comments: PatternTest: - actual-precedence: 910 precedence: 680 WolframLanguageData: 9 WolframLanguageData-corrected: 9 @@ -5241,7 +4978,6 @@ PatternTest: # comments: PermutationProduct: - actual-precedence: 600 Precedence-Function: 520 precedence: 486 WolframLanguageData: @@ -5261,7 +4997,6 @@ PermutationProduct: # comments: Perpendicular: - actual-precedence: 220 precedence: 190 WolframLanguageData: WolframLanguageData-corrected: 60 @@ -5280,7 +5015,6 @@ Perpendicular: # comments: Piecewise: - actual-precedence: 680 Precedence-Function: 480 precedence: 535 WolframLanguageData: 1 @@ -5300,7 +5034,6 @@ Piecewise: # comments: Usage and Parse may not be correct. Plus: - actual-precedence: 400 precedence: 310 WolframLanguageData: 46 WolframLanguageData-corrected: 46 @@ -5319,7 +5052,6 @@ Plus: # comments: Operator Notations includes usages with invisible unicode characters. PlusMinus: - actual-precedence: 400 precedence: 310 WolframLanguageData: 46 WolframLanguageData-corrected: 46 @@ -5338,7 +5070,6 @@ PlusMinus: # comments: Postfix: - actual-precedence: 640 precedence: 70 WolframLanguageData: None WolframLanguageData-corrected: None @@ -5357,7 +5088,6 @@ Postfix: # comments: None Power: - actual-precedence: 750 precedence: 590 WolframLanguageData: 21 WolframLanguageData-corrected: 21 @@ -5376,7 +5106,6 @@ Power: # comments: PreDecrement: - actual-precedence: 870 precedence: 660 WolframLanguageData: 12 WolframLanguageData-corrected: 12 @@ -5395,7 +5124,6 @@ PreDecrement: # comments: PreIncrement: - actual-precedence: 870 precedence: 660 WolframLanguageData: 12 WolframLanguageData-corrected: 12 @@ -5414,7 +5142,6 @@ PreIncrement: # comments: Precedes: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -5433,7 +5160,6 @@ Precedes: # comments: PrecedesEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -5452,7 +5178,6 @@ PrecedesEqual: # comments: PrecedesSlantEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -5471,7 +5196,6 @@ PrecedesSlantEqual: # comments: PrecedesTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -5490,7 +5214,6 @@ PrecedesTilde: # comments: Prefix: - actual-precedence: 640 precedence: 640 WolframLanguageData: None WolframLanguageData-corrected: None @@ -5509,7 +5232,6 @@ Prefix: # comments: None ProbabilityPr: - actual-precedence: 420 precedence: 325 WolframLanguageData: WolframLanguageData-corrected: 45 @@ -5528,7 +5250,6 @@ ProbabilityPr: # comments: Usage and Parse may not be correct. Product: - actual-precedence: 480 precedence: 380 WolframLanguageData: 40 WolframLanguageData-corrected: 40 @@ -5547,7 +5268,6 @@ Product: # comments: Usage and Parse may not be correct. Proportion: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -5566,7 +5286,6 @@ Proportion: # comments: Proportional: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -5585,7 +5304,6 @@ Proportional: # comments: Put: - actual-precedence: 40 precedence: 30 WolframLanguageData: 76 WolframLanguageData-corrected: 76 @@ -5604,7 +5322,6 @@ Put: # comments: PutAppend: - actual-precedence: 40 precedence: 30 WolframLanguageData: 76 WolframLanguageData-corrected: 76 @@ -5623,7 +5340,6 @@ PutAppend: # comments: RadicalBox: - actual-precedence: 730 Precedence-Function: 670 precedence: 570 WolframLanguageData: 22 @@ -5643,7 +5359,6 @@ RadicalBox: # comments: RawBackquote: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -5663,7 +5378,6 @@ RawBackquote: # comments: Specifies the accuracy (in number of digits to the right of decimal) of number, where s is a positive decimal expressed without using ^^ or `. A magnitude must come after ``. Repeated: - actual-precedence: 200 precedence: 170 WolframLanguageData: 62 WolframLanguageData-corrected: 62 @@ -5682,7 +5396,6 @@ Repeated: # comments: RepeatedNull: - actual-precedence: 200 precedence: 170 WolframLanguageData: 62 WolframLanguageData-corrected: 62 @@ -5701,7 +5414,6 @@ RepeatedNull: # comments: ReplaceAll: - actual-precedence: 130 precedence: 110 WolframLanguageData: 68 WolframLanguageData-corrected: 68 @@ -5720,7 +5432,6 @@ ReplaceAll: # comments: ReplaceRepeated: - actual-precedence: 130 precedence: 110 WolframLanguageData: 68 WolframLanguageData-corrected: 68 @@ -5739,7 +5450,6 @@ ReplaceRepeated: # comments: ReverseElement: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -5758,7 +5468,6 @@ ReverseElement: # comments: ReverseEquilibrium: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -5777,7 +5486,6 @@ ReverseEquilibrium: # comments: ReverseUpEquilibrium: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -5796,7 +5504,6 @@ ReverseUpEquilibrium: # comments: RightArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -5815,7 +5522,6 @@ RightArrow: # comments: RightArrowBar: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -5834,7 +5540,6 @@ RightArrowBar: # comments: RightArrowLeftArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -5853,7 +5558,6 @@ RightArrowLeftArrow: # comments: RightComposition: - actual-precedence: 850 Precedence-Function: 624 precedence: 650 WolframLanguageData: 13 @@ -5873,7 +5577,6 @@ RightComposition: # comments: RightDownTeeVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -5892,7 +5595,6 @@ RightDownTeeVector: # comments: RightDownVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -5911,7 +5613,6 @@ RightDownVector: # comments: RightDownVectorBar: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -5930,7 +5631,6 @@ RightDownVectorBar: # comments: RightTee: - actual-precedence: 230 precedence: 190 WolframLanguageData: WolframLanguageData-corrected: 59.6 @@ -5949,7 +5649,6 @@ RightTee: # comments: RightTeeArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -5968,7 +5667,6 @@ RightTeeArrow: # comments: RightTeeVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -5987,7 +5685,6 @@ RightTeeVector: # comments: RightTriangle: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -6006,7 +5703,6 @@ RightTriangle: # comments: RightTriangleBar: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -6025,7 +5721,6 @@ RightTriangleBar: # comments: RightTriangleEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -6044,7 +5739,6 @@ RightTriangleEqual: # comments: RightUpDownVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -6063,7 +5757,6 @@ RightUpDownVector: # comments: RightUpTeeVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -6082,7 +5775,6 @@ RightUpTeeVector: # comments: RightUpVector: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -6101,7 +5793,6 @@ RightUpVector: # comments: RightUpVectorBar: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -6120,7 +5811,6 @@ RightUpVectorBar: # comments: RightVector: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -6139,7 +5829,6 @@ RightVector: # comments: RightVectorBar: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -6158,7 +5847,6 @@ RightVectorBar: # comments: RoundImplies: - actual-precedence: 250 Precedence-Function: 240 precedence: 200 WolframLanguageData: @@ -6178,7 +5866,6 @@ RoundImplies: # comments: Rule: - actual-precedence: 140 precedence: 120 WolframLanguageData: 67 WolframLanguageData-corrected: 67.5 @@ -6197,7 +5884,6 @@ Rule: # comments: RuleDelayed: - actual-precedence: 150 precedence: 120 WolframLanguageData: 67 WolframLanguageData-corrected: 67 @@ -6216,7 +5902,6 @@ RuleDelayed: # comments: SameQ: - actual-precedence: 330 Precedence-Function: 290 precedence: 290 WolframLanguageData: 51 @@ -6236,7 +5921,6 @@ SameQ: # comments: Set: - actual-precedence: 50 precedence: 40 WolframLanguageData: 75 WolframLanguageData-corrected: 75 @@ -6255,7 +5939,6 @@ Set: # comments: SetDelayed: - actual-precedence: 50 precedence: 40 WolframLanguageData: 75 WolframLanguageData-corrected: 75 @@ -6274,7 +5957,6 @@ SetDelayed: # comments: ShortDownArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -6293,7 +5975,6 @@ ShortDownArrow: # comments: ShortLeftArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -6312,7 +5993,6 @@ ShortLeftArrow: # comments: ShortRightArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -6331,7 +6011,6 @@ ShortRightArrow: # comments: ShortUpArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -6350,7 +6029,6 @@ ShortUpArrow: # comments: Skeleton: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -6370,7 +6048,6 @@ Skeleton: # comments: Slot: - actual-precedence: 1040 precedence: 740 WolframLanguageData: 3 WolframLanguageData-corrected: 3 @@ -6389,7 +6066,6 @@ Slot: # comments: SlotNumber: - actual-precedence: 1050 precedence: 740 WolframLanguageData: 3 WolframLanguageData-corrected: 3 @@ -6408,7 +6084,6 @@ SlotNumber: # comments: SlotSequence: - actual-precedence: 1040 precedence: 740 WolframLanguageData: 3 WolframLanguageData-corrected: 3 @@ -6427,7 +6102,6 @@ SlotSequence: # comments: SlotSequenceNumber: - actual-precedence: 1050 precedence: 740 WolframLanguageData: 3 WolframLanguageData-corrected: 3 @@ -6446,7 +6120,6 @@ SlotSequenceNumber: # comments: SmallCircle: - actual-precedence: 670 precedence: 530 WolframLanguageData: 25 WolframLanguageData-corrected: 25.6 @@ -6465,7 +6138,6 @@ SmallCircle: # comments: Span: - actual-precedence: 390 precedence: 305 WolframLanguageData: 49 WolframLanguageData-corrected: 47 @@ -6484,7 +6156,6 @@ Span: # comments: Sqrt: - actual-precedence: 730 Precedence-Function: 670 precedence: 570 WolframLanguageData: 22 @@ -6504,7 +6175,6 @@ Sqrt: # comments: SqrtBox: - actual-precedence: 730 Precedence-Function: 670 precedence: 570 WolframLanguageData: 22 @@ -6524,7 +6194,6 @@ SqrtBox: # comments: Square: - actual-precedence: 690 precedence: 540 WolframLanguageData: 25 WolframLanguageData-corrected: 25 @@ -6543,7 +6212,6 @@ Square: # comments: SquareIntersection: - actual-precedence: 390 precedence: 305 WolframLanguageData: WolframLanguageData-corrected: 47 @@ -6562,7 +6230,6 @@ SquareIntersection: # comments: SquareSubset: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -6581,7 +6248,6 @@ SquareSubset: # comments: SquareSubsetEqual: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -6600,7 +6266,6 @@ SquareSubsetEqual: # comments: SquareSuperset: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -6619,7 +6284,6 @@ SquareSuperset: # comments: SquareSupersetEqual: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -6638,7 +6302,6 @@ SquareSupersetEqual: # comments: SquareUnion: - actual-precedence: 380 precedence: 300 WolframLanguageData: WolframLanguageData-corrected: 48 @@ -6657,7 +6320,6 @@ SquareUnion: # comments: Star: - actual-precedence: 490 precedence: 390 WolframLanguageData: 39 WolframLanguageData-corrected: 39 @@ -6676,7 +6338,6 @@ Star: # comments: StringExpression: - actual-precedence: 180 precedence: 135 WolframLanguageData: 65 WolframLanguageData-corrected: 65 @@ -6695,7 +6356,6 @@ StringExpression: # comments: StringJoin: - actual-precedence: 760 precedence: 600 WolframLanguageData: 20 WolframLanguageData-corrected: 20 @@ -6714,7 +6374,6 @@ StringJoin: # comments: SubscriptBox: - actual-precedence: 920 Precedence-Function: 670 precedence: 690 WolframLanguageData: 8 @@ -6734,7 +6393,6 @@ SubscriptBox: # comments: Subset: - actual-precedence: 320 precedence: 250 WolframLanguageData: 52 WolframLanguageData-corrected: 52 @@ -6753,7 +6411,6 @@ Subset: # comments: SubsetEqual: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -6772,7 +6429,6 @@ SubsetEqual: # comments: SubsuperscriptBox: - actual-precedence: 920 Precedence-Function: 670 precedence: 690 WolframLanguageData: 8 @@ -6792,7 +6448,6 @@ SubsuperscriptBox: # comments: Subtract: - actual-precedence: 400 precedence: 310 WolframLanguageData: 46 WolframLanguageData-corrected: 46 @@ -6811,7 +6466,6 @@ Subtract: # comments: Operator Notations includes usages with invisible unicode characters. SubtractFrom: - actual-precedence: 120 precedence: 100 WolframLanguageData: 69 WolframLanguageData-corrected: 69 @@ -6830,7 +6484,6 @@ SubtractFrom: # comments: Succeeds: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -6849,7 +6502,6 @@ Succeeds: # comments: SucceedsEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -6868,7 +6520,6 @@ SucceedsEqual: # comments: SucceedsSlantEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -6887,7 +6538,6 @@ SucceedsSlantEqual: # comments: SucceedsTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -6906,7 +6556,6 @@ SucceedsTilde: # comments: SuchThat: - actual-precedence: 210 precedence: 180 WolframLanguageData: 61 WolframLanguageData-corrected: 61 @@ -6925,7 +6574,6 @@ SuchThat: # comments: Sum: - actual-precedence: 420 Precedence-Function: 320 precedence: 325 WolframLanguageData: 45 @@ -6945,7 +6593,6 @@ Sum: # comments: Usage and Parse may not be correct. SuperDagger: - actual-precedence: 780 Precedence-Function: 0 precedence: 605 WolframLanguageData: @@ -6965,7 +6612,6 @@ SuperDagger: # comments: SuperscriptBox: - actual-precedence: 750 precedence: 590 WolframLanguageData: 21 WolframLanguageData-corrected: 21 @@ -6984,7 +6630,6 @@ SuperscriptBox: # comments: Superset: - actual-precedence: 320 precedence: 250 WolframLanguageData: 52 WolframLanguageData-corrected: 52 @@ -7003,7 +6648,6 @@ Superset: # comments: SupersetEqual: - actual-precedence: 320 precedence: 250 WolframLanguageData: WolframLanguageData-corrected: 52 @@ -7022,7 +6666,6 @@ SupersetEqual: # comments: SupersubscriptBox: - actual-precedence: 750 Precedence-Function: 690 precedence: 590 WolframLanguageData: 21 @@ -7042,7 +6685,6 @@ SupersubscriptBox: # comments: TagSet: - actual-precedence: 50 Precedence-Function: 670 precedence: 40 WolframLanguageData: 75 @@ -7062,7 +6704,6 @@ TagSet: # comments: TagSetDelayed: - actual-precedence: 50 Precedence-Function: 670 precedence: 40 WolframLanguageData: 75 @@ -7082,7 +6723,6 @@ TagSetDelayed: # comments: TagUnset: - actual-precedence: 50 Precedence-Function: 670 precedence: 40 WolframLanguageData: 75 @@ -7102,7 +6742,6 @@ TagUnset: # comments: TensorProduct: - actual-precedence: 610 Precedence-Function: 495 precedence: 487 WolframLanguageData: @@ -7122,7 +6761,6 @@ TensorProduct: # comments: TensorWedge: - actual-precedence: 620 Precedence-Function: 500 precedence: 488 WolframLanguageData: @@ -7142,7 +6780,6 @@ TensorWedge: # comments: Therefore: - actual-precedence: 70 precedence: 50 WolframLanguageData: 74 WolframLanguageData-corrected: 73.5 @@ -7161,7 +6798,6 @@ Therefore: # comments: Precedence of Therefore and Because are swapped in notebook versus ToExpression. Tilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -7180,7 +6816,6 @@ Tilde: # comments: TildeEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -7199,7 +6834,6 @@ TildeEqual: # comments: TildeFullEqual: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -7218,7 +6852,6 @@ TildeFullEqual: # comments: TildeTilde: - actual-precedence: 360 precedence: 290 WolframLanguageData: WolframLanguageData-corrected: 50 @@ -7237,7 +6870,6 @@ TildeTilde: # comments: Times: - actual-precedence: 500 precedence: 400 WolframLanguageData: 38 WolframLanguageData-corrected: 38 @@ -7256,7 +6888,6 @@ Times: # comments: Operator Notations includes usages with invisible unicode characters. TimesBy: - actual-precedence: 120 precedence: 100 WolframLanguageData: 69 WolframLanguageData-corrected: 69 @@ -7275,7 +6906,6 @@ TimesBy: # comments: TortoiseShellBracket: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -7295,7 +6925,6 @@ TortoiseShellBracket: # comments: Transpose: - actual-precedence: 780 Precedence-Function: 670 precedence: 670 WolframLanguageData: 18 @@ -7315,7 +6944,6 @@ Transpose: # comments: TwoWayRule: - actual-precedence: 160 precedence: 125 WolframLanguageData: WolframLanguageData-corrected: 66.5 @@ -7334,7 +6962,6 @@ TwoWayRule: # comments: UnaryMinusPlus: - actual-precedence: 580 Precedence-Function: 310 precedence: 480 WolframLanguageData: 30 @@ -7354,7 +6981,6 @@ UnaryMinusPlus: # comments: UnaryPlus: - actual-precedence: 580 Precedence-Function: 310 precedence: 480 WolframLanguageData: @@ -7374,7 +7000,6 @@ UnaryPlus: # comments: Converts to expr on input. UnaryPlusMinus: - actual-precedence: 580 Precedence-Function: 310 precedence: 480 WolframLanguageData: 30 @@ -7394,7 +7019,6 @@ UnaryPlusMinus: # comments: UnderoverscriptBox: - actual-precedence: 940 Precedence-Function: 670 precedence: 700 WolframLanguageData: 7 @@ -7414,7 +7038,6 @@ UnderoverscriptBox: # comments: UnderscriptBox: - actual-precedence: 950 Precedence-Function: 670 precedence: 710 WolframLanguageData: 7 @@ -7434,7 +7057,6 @@ UnderscriptBox: # comments: UndirectedEdge: - actual-precedence: 370 precedence: 120 # FIXME: is probably 295. Check and adjust after code and mathics-core are merge WolframLanguageData: WolframLanguageData-corrected: 49 @@ -7453,7 +7075,6 @@ UndirectedEdge: # comments: Unequal: - actual-precedence: 360 precedence: 290 WolframLanguageData: 50 WolframLanguageData-corrected: 50 @@ -7472,7 +7093,6 @@ Unequal: # comments: Union: - actual-precedence: 380 precedence: 300 WolframLanguageData: 48 WolframLanguageData-corrected: 48 @@ -7491,7 +7111,6 @@ Union: # comments: UnionPlus: - actual-precedence: 380 precedence: 300 WolframLanguageData: WolframLanguageData-corrected: 48 @@ -7510,7 +7129,6 @@ UnionPlus: # comments: UnsameQ: - actual-precedence: 330 Precedence-Function: 290 precedence: 290 WolframLanguageData: 51 @@ -7530,7 +7148,6 @@ UnsameQ: # comments: Unset: - actual-precedence: 50 Precedence-Function: 670 precedence: 670 WolframLanguageData: 75 @@ -7550,7 +7167,6 @@ Unset: # comments: UpArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -7569,7 +7185,6 @@ UpArrow: # comments: UpArrowBar: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -7588,7 +7203,6 @@ UpArrowBar: # comments: UpArrowDownArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -7607,7 +7221,6 @@ UpArrowDownArrow: # comments: UpDownArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -7626,7 +7239,6 @@ UpDownArrow: # comments: UpEquilibrium: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -7645,7 +7257,6 @@ UpEquilibrium: # comments: UpSet: - actual-precedence: 50 precedence: 40 WolframLanguageData: 75 WolframLanguageData-corrected: 75 @@ -7664,7 +7275,6 @@ UpSet: # comments: UpSetDelayed: - actual-precedence: 50 precedence: 40 WolframLanguageData: 75 WolframLanguageData-corrected: 75 @@ -7683,7 +7293,6 @@ UpSetDelayed: # comments: UpTee: - actual-precedence: 220 precedence: 190 WolframLanguageData: 60 WolframLanguageData-corrected: 60 @@ -7702,7 +7311,6 @@ UpTee: # comments: UpTeeArrow: - actual-precedence: 740 precedence: 580 WolframLanguageData: WolframLanguageData-corrected: 21.5 @@ -7721,7 +7329,6 @@ UpTeeArrow: # comments: UpperLeftArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -7740,7 +7347,6 @@ UpperLeftArrow: # comments: UpperRightArrow: - actual-precedence: 340 precedence: 270 WolframLanguageData: WolframLanguageData-corrected: 50.6 @@ -7759,7 +7365,6 @@ UpperRightArrow: # comments: Vee: - actual-precedence: 530 precedence: 430 WolframLanguageData: WolframLanguageData-corrected: 35 @@ -7778,7 +7383,6 @@ Vee: # comments: VerticalBar: - actual-precedence: 350 precedence: 280 WolframLanguageData: 50 WolframLanguageData-corrected: 50.5 @@ -7797,7 +7401,6 @@ VerticalBar: # comments: VerticalSeparator: - actual-precedence: 80 precedence: 60 WolframLanguageData: 73 WolframLanguageData-corrected: 73 @@ -7816,7 +7419,6 @@ VerticalSeparator: # comments: VerticalTilde: - actual-precedence: 470 precedence: 370 WolframLanguageData: 41 WolframLanguageData-corrected: 41 @@ -7835,7 +7437,6 @@ VerticalTilde: # comments: Wedge: - actual-precedence: 540 precedence: 440 WolframLanguageData: 34 WolframLanguageData-corrected: 34 @@ -7854,7 +7455,6 @@ Wedge: # comments: WhiteCornerBracket: - actual-precedence: -10 Precedence-Function: 670 precedence: 760 WolframLanguageData: @@ -7874,7 +7474,6 @@ WhiteCornerBracket: # comments: Xnor: - actual-precedence: 280 precedence: 220 WolframLanguageData: 56 WolframLanguageData-corrected: 56 @@ -7893,7 +7492,6 @@ Xnor: # comments: Xor: - actual-precedence: 280 precedence: 220 # FIXME: is probably 215. Check and adjust after code and mathics-core are merged WolframLanguageData: 56 WolframLanguageData-corrected: 56 diff --git a/mathics_scanner/generate/build_operator_tables.py b/mathics_scanner/generate/build_operator_tables.py index b5d52c3..fedafa4 100755 --- a/mathics_scanner/generate/build_operator_tables.py +++ b/mathics_scanner/generate/build_operator_tables.py @@ -14,7 +14,6 @@ OPERATOR_FIELDS = [ "actual-precedence", "Precedence", - "Precedence-corrected", "WolframLanguageData", "WolframLanguageData-corrected", "FullForm", @@ -56,7 +55,7 @@ def compile_tables( flat_binary_operators = {} left_binary_operators = {} - misc_operators = {} + miscellaneous_operators = {} no_meaning_infix_operators = {} no_meaning_postfix_operators = {} no_meaning_prefix_operators = {} @@ -77,7 +76,7 @@ def compile_tables( if arity == "Ternary": operator_dict = ternary_operators elif associativity == "unknown": - operator_dict = misc_operators + operator_dict = miscellaneous_operators elif affix in ("Infix", "Binary"): if associativity is None: operator_dict = flat_binary_operators @@ -97,6 +96,10 @@ def compile_tables( elif affix == "Postfix": operator_dict = postfix_operators + # operator_dict tables are tied into the Mathics3 + # parser. Extend this table, for example to + # include the operator unicode, requires + # the coordination of the parser. if operator_dict is not None: operator_dict[operator_name] = precedence @@ -127,7 +130,7 @@ def compile_tables( return { "flat-binary-operators": flat_binary_operators, "left-binary-operators": left_binary_operators, - "miscellaneous-operators": misc_operators, + "miscellaneous-operators": miscellaneous_operators, "no-meaning-infix-operators": no_meaning_infix_operators, "no-meaning-postfix-operators": no_meaning_postfix_operators, "no-meaning-prefix-operators": no_meaning_prefix_operators, diff --git a/mathics_scanner/generate/build_tables.py b/mathics_scanner/generate/build_tables.py index e96b931..240e10f 100755 --- a/mathics_scanner/generate/build_tables.py +++ b/mathics_scanner/generate/build_tables.py @@ -270,7 +270,7 @@ def compile_tables(data: dict) -> dict: "-o", show_default=True, type=click.Path(writable=True), - default=DEFAULT_DATA_DIR / "characters.json", + default=DEFAULT_DATA_DIR / "character-tables.json", ) @click.argument( "data_dir", type=click.Path(readable=True), default=DEFAULT_DATA_DIR, required=False diff --git a/mathics_scanner/load.py b/mathics_scanner/load.py index 4e447e6..66ef912 100644 --- a/mathics_scanner/load.py +++ b/mathics_scanner/load.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- -from mathics_scanner.generate.build_tables import DEFAULT_DATA_DIR -import yaml import json +import yaml + +from mathics_scanner.generate.build_tables import DEFAULT_DATA_DIR + def load_mathics_character_yaml(): with open(DEFAULT_DATA_DIR / "named-characters.yml", "r") as yaml_file: @@ -12,6 +14,6 @@ def load_mathics_character_yaml(): def load_mathics_character_json(): - with open(DEFAULT_DATA_DIR / "characters.json", "r") as json_file: + with open(DEFAULT_DATA_DIR / "character-tables.json", "r") as json_file: json_data = json.load(json_file) return json_data diff --git a/pyproject.toml b/pyproject.toml index 71d564c..91974be 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,7 +66,7 @@ packages = [ "mathics_scanner" = [ "data/named-characters.yml", "data/*.csv", - "data/characters.json", # List this explicitly since it is needed + "data/character-tables.json", # List this explicitly since it is needed "data/*.json", "data/ExampleData/*", ] diff --git a/test/test_operators.py b/test/test_operators.py index 580bbfe..b9a6f59 100644 --- a/test/test_operators.py +++ b/test/test_operators.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- - +""" +Test contents of mathics_scanner/data/operators.yml file +""" import os.path as osp from pathlib import Path @@ -14,6 +16,18 @@ character_data = yaml.load(character_f, Loader=yaml.FullLoader) +def test_associativity_field(): + """ + Check "associativity" field is one of the accepted values, + None, "left", "non-associative", "right", or "unknown" + """ + associativity_set = {None, "left", "non-associative", "right", "unknown"} + for operator_name, operator_info in operator_data.items(): + assert operator_info["associativity"] in associativity_set, ( + f"operator {operator_name} associativity is {operator_info['associativity']}; " + ) + f"should be one of: {associativity_set}; " + + def test_operators(): # We need to use "operator-name" instead of YAML "name" key # because of situations like "FunctionAmpersand" @@ -82,7 +96,7 @@ def test_operators(): ), f"Should not have extra operators in JSON character table {extra_character_operators}" -def test_meaningful_affix(): +def test_meaningful_field(): """ Check that all operators where the "meaningful" field is "false" have an valid affix value. """