mml 2.4.2 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/notify-mml-js.yml +127 -0
- data/.github/workflows/opal.yml +25 -0
- data/Gemfile +1 -0
- data/README.adoc +27 -0
- data/lib/mml/common_elements.rb +1 -2
- data/lib/mml/opal.rb +371 -0
- data/lib/mml/v2.rb +209 -202
- data/lib/mml/v3.rb +226 -219
- data/lib/mml/v4.rb +217 -210
- data/lib/mml/version.rb +1 -1
- data/lib/mml/versioned_parser.rb +20 -0
- data/lib/mml.rb +10 -0
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f2ceed2663265e233553c9545d55aba20fd2c3d6b35e6ee3b7fdd2649d9ea779
|
|
4
|
+
data.tar.gz: 9c2e6fe91813bf181b968be1f2470f03c93e88dbadd0755da50d782066777b10
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 887114641a9b57f242302c3d75bd40bb6911d41d427d3afa5d09505dcb73cc06c061c3e56c48df4d3507eb7cf8edca0dae59b5f32d91b3b46af00de14029c60f
|
|
7
|
+
data.tar.gz: d01b619568ccc20403c313aa44f1c2c97461fdc3d014f21189ce28d138659b7d6f56eb7fd81127a37ea6648503df4dad65213380487290ed1d900d4e890b967c
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Hand-maintained cross-repo trigger.
|
|
2
|
+
name: notify-mml-js
|
|
3
|
+
|
|
4
|
+
# After each successful release, dispatch do-release to plurimath/mml-js,
|
|
5
|
+
# which compiles that version with Opal and publishes it to npm as
|
|
6
|
+
# @plurimath/mml.
|
|
7
|
+
#
|
|
8
|
+
# Runs on workflow_run, not on push: the release pushes its version bump
|
|
9
|
+
# with GITHUB_TOKEN, which starts no push-triggered workflows.
|
|
10
|
+
#
|
|
11
|
+
# Dispatches only a commit tagged v<VERSION> for its own
|
|
12
|
+
# lib/mml/version.rb, and only if that commit is:
|
|
13
|
+
# - the child of head_sha on main's first-parent line (normal run), or
|
|
14
|
+
# - head_sha itself, on main, with no later v* tag on main (recovery run:
|
|
15
|
+
# a release with next_version=skip after a run that tagged and failed).
|
|
16
|
+
# Fails if lib/mml/version.rb cannot be read or does not have exactly one
|
|
17
|
+
# `VERSION = "..."` line.
|
|
18
|
+
#
|
|
19
|
+
# Limits: the release commits and tags its bump on top of the main tip it
|
|
20
|
+
# checks out, which is head_sha only if main has not moved. If it moved,
|
|
21
|
+
# this run's release is not dispatched. If head_sha's child is a release
|
|
22
|
+
# commit tagged by another run, or by the first attempt of a re-run (which
|
|
23
|
+
# keeps head_sha), that version is dispatched instead. A run that made no
|
|
24
|
+
# bump also dispatches such a child. A version can be dispatched more than
|
|
25
|
+
# once; mml-js must treat an already-published version as done. To send a
|
|
26
|
+
# missed release, run release with next_version=skip while main is at that
|
|
27
|
+
# release's commit.
|
|
28
|
+
|
|
29
|
+
on:
|
|
30
|
+
workflow_run:
|
|
31
|
+
workflows: [release]
|
|
32
|
+
types: [completed]
|
|
33
|
+
branches: [main]
|
|
34
|
+
|
|
35
|
+
permissions:
|
|
36
|
+
contents: read
|
|
37
|
+
|
|
38
|
+
jobs:
|
|
39
|
+
dispatch:
|
|
40
|
+
if: github.event.workflow_run.conclusion == 'success'
|
|
41
|
+
runs-on: ubuntu-latest
|
|
42
|
+
steps:
|
|
43
|
+
- uses: actions/checkout@v6
|
|
44
|
+
with:
|
|
45
|
+
ref: main
|
|
46
|
+
fetch-depth: 0
|
|
47
|
+
fetch-tags: true
|
|
48
|
+
|
|
49
|
+
- name: Find the version this release run tagged
|
|
50
|
+
id: ver
|
|
51
|
+
env:
|
|
52
|
+
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
|
|
53
|
+
run: |
|
|
54
|
+
set -euo pipefail
|
|
55
|
+
if ! printf '%s' "$HEAD_SHA" | grep -qxE '[0-9a-f]{40}'; then
|
|
56
|
+
printf '::error::unexpected head_sha: %q\n' "$HEAD_SHA"
|
|
57
|
+
exit 1
|
|
58
|
+
fi
|
|
59
|
+
# Sets V to VERSION in lib/mml/version.rb at commit $1.
|
|
60
|
+
read_version() {
|
|
61
|
+
local source
|
|
62
|
+
if ! source=$(git show "$1:lib/mml/version.rb"); then
|
|
63
|
+
printf '::error::cannot read lib/mml/version.rb at %s\n' "$1"
|
|
64
|
+
exit 1
|
|
65
|
+
fi
|
|
66
|
+
local lines
|
|
67
|
+
lines=$(printf '%s\n' "$source" \
|
|
68
|
+
| { grep -E '^[[:space:]]*VERSION = "[^"]+"' || true; })
|
|
69
|
+
V=$(printf '%s\n' "$lines" | sed -n '1s/^[^"]*"\([^"]*\)".*$/\1/p')
|
|
70
|
+
if [ -z "$V" ] || [ "$(printf '%s\n' "$lines" | wc -l)" -ne 1 ]; then
|
|
71
|
+
printf '::error::no VERSION = "..." line in lib/mml/version.rb at %s\n' "$1"
|
|
72
|
+
exit 1
|
|
73
|
+
fi
|
|
74
|
+
}
|
|
75
|
+
tag_commit() { git rev-parse -q --verify "refs/tags/v$1^{commit}" || true; }
|
|
76
|
+
RELEASE=""
|
|
77
|
+
NEW=""
|
|
78
|
+
# Normal run: the bump commit is head_sha's child on main's
|
|
79
|
+
# first-parent line.
|
|
80
|
+
BUMP=$(git rev-list --first-parent --parents origin/main \
|
|
81
|
+
| awk -v h="$HEAD_SHA" '!found && $2 == h { print $1; found = 1 }')
|
|
82
|
+
if [ -n "$BUMP" ]; then
|
|
83
|
+
read_version "$BUMP"
|
|
84
|
+
if [ "$(tag_commit "$V")" = "$BUMP" ]; then
|
|
85
|
+
RELEASE=$BUMP
|
|
86
|
+
NEW=$V
|
|
87
|
+
fi
|
|
88
|
+
fi
|
|
89
|
+
# Recovery run: head_sha is on main, is the tagged release commit,
|
|
90
|
+
# and no later v* tag is on main.
|
|
91
|
+
if [ -z "$RELEASE" ] && git merge-base --is-ancestor "$HEAD_SHA" origin/main 2>/dev/null \
|
|
92
|
+
&& [ -z "$(git tag -l 'v*' --merged origin/main --no-merged "$HEAD_SHA")" ]; then
|
|
93
|
+
read_version "$HEAD_SHA"
|
|
94
|
+
if [ "$(tag_commit "$V")" = "$HEAD_SHA" ]; then
|
|
95
|
+
RELEASE=$HEAD_SHA
|
|
96
|
+
NEW=$V
|
|
97
|
+
fi
|
|
98
|
+
fi
|
|
99
|
+
if [ -z "$RELEASE" ]; then
|
|
100
|
+
echo "no release commit for this run; not dispatching"
|
|
101
|
+
echo "dispatch=false" >> "$GITHUB_OUTPUT"
|
|
102
|
+
exit 0
|
|
103
|
+
fi
|
|
104
|
+
# Accept only npm semver (2.5.0.rc1 is not).
|
|
105
|
+
# Reject newlines before grep's per-line check.
|
|
106
|
+
if [[ "$NEW" == *$'\n'* ]] || ! printf '%s' "$NEW" \
|
|
107
|
+
| grep -qE '^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*))?(\+([0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*))?$'; then
|
|
108
|
+
printf '::error::VERSION %q is not a semver version mml-js can publish\n' "$NEW"
|
|
109
|
+
exit 1
|
|
110
|
+
fi
|
|
111
|
+
echo "release commit $RELEASE is tagged v$NEW; dispatching"
|
|
112
|
+
echo "dispatch=true" >> "$GITHUB_OUTPUT"
|
|
113
|
+
echo "version=$NEW" >> "$GITHUB_OUTPUT"
|
|
114
|
+
|
|
115
|
+
- name: Dispatch do-release to plurimath/mml-js
|
|
116
|
+
if: steps.ver.outputs.dispatch == 'true'
|
|
117
|
+
# v4.0.1
|
|
118
|
+
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697
|
|
119
|
+
with:
|
|
120
|
+
token: ${{ secrets.PLURIMATH_CI_PAT_TOKEN }}
|
|
121
|
+
repository: plurimath/mml-js
|
|
122
|
+
event-type: do-release
|
|
123
|
+
client-payload: |
|
|
124
|
+
{
|
|
125
|
+
"version": "${{ steps.ver.outputs.version }}",
|
|
126
|
+
"ruby_ref": "v${{ steps.ver.outputs.version }}"
|
|
127
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: opal
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
boot-file-spec:
|
|
13
|
+
name: Opal boot file verification
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v6
|
|
17
|
+
|
|
18
|
+
- name: Set up Ruby
|
|
19
|
+
uses: ruby/setup-ruby@v1
|
|
20
|
+
with:
|
|
21
|
+
ruby-version: '3.3'
|
|
22
|
+
bundler-cache: true
|
|
23
|
+
|
|
24
|
+
- name: Run opal boot file spec
|
|
25
|
+
run: bundle exec rspec spec/mml/opal_boot_spec.rb
|
data/Gemfile
CHANGED
data/README.adoc
CHANGED
|
@@ -630,6 +630,33 @@ bundle exec rubocop # Lint
|
|
|
630
630
|
bin/console # Interactive IRB
|
|
631
631
|
----
|
|
632
632
|
|
|
633
|
+
=== Opal build
|
|
634
|
+
|
|
635
|
+
`lib/mml/opal.rb` is the Opal entry point. It requires every file under
|
|
636
|
+
`lib/mml` in load order and registers the V2, V3 and V4 models at its end.
|
|
637
|
+
`spec/mml/opal_boot_spec.rb` checks it on MRI and compiles it with
|
|
638
|
+
`Opal::Builder`; the `opal` workflow runs that spec.
|
|
639
|
+
|
|
640
|
+
`spec/opal/` holds a runtime smoke test that runs only locally. It compiles
|
|
641
|
+
the boot file with Opal, loads it in Node after `@lutaml/opal-runtime` and
|
|
642
|
+
`@lutaml/lutaml-model`, and round-trips one document through
|
|
643
|
+
`Mml::V2::Math.from_xml`, `Mml::V3::Math.from_xml` and
|
|
644
|
+
`Mml::V4::Math.from_xml`:
|
|
645
|
+
|
|
646
|
+
[source,bash]
|
|
647
|
+
----
|
|
648
|
+
bundle exec ruby spec/opal/build_smoke.rb /tmp/mml-opal.js
|
|
649
|
+
cd <directory whose node_modules has both packages>
|
|
650
|
+
node /path/to/mml/spec/opal/smoke.js /tmp/mml-opal.js
|
|
651
|
+
----
|
|
652
|
+
|
|
653
|
+
There is no CI job for it, because no published `@lutaml/lutaml-model`
|
|
654
|
+
works with this gem: `0.1.0` (`latest`) contains no `dist/` files, and the
|
|
655
|
+
`next` dev build is older than the lutaml-model version this gem requires.
|
|
656
|
+
Locally it needs an `@lutaml/lutaml-model` compiled with Opal from a
|
|
657
|
+
lutaml-model version this gem accepts, for example a local build of
|
|
658
|
+
https://github.com/lutaml/lutaml-model-js[lutaml-model-js].
|
|
659
|
+
|
|
633
660
|
== Contributing
|
|
634
661
|
|
|
635
662
|
Bug reports and pull requests are welcome on GitHub at
|
data/lib/mml/common_elements.rb
CHANGED
|
@@ -210,7 +210,7 @@ module Mml
|
|
|
210
210
|
attribute :moment_value, :moment, collection: true
|
|
211
211
|
attribute :momentabout_value, :momentabout, collection: true
|
|
212
212
|
|
|
213
|
-
# rubocop:disable Metrics/BlockLength
|
|
213
|
+
# rubocop:disable-next Metrics/BlockLength
|
|
214
214
|
xml do
|
|
215
215
|
# Presentation elements
|
|
216
216
|
map_element "mmultiscripts", to: :mmultiscripts_value
|
|
@@ -416,6 +416,5 @@ module Mml
|
|
|
416
416
|
map_element "moment", to: :moment_value
|
|
417
417
|
map_element "momentabout", to: :momentabout_value
|
|
418
418
|
end
|
|
419
|
-
# rubocop:enable Metrics/BlockLength
|
|
420
419
|
end
|
|
421
420
|
end
|
data/lib/mml/opal.rb
ADDED
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Opal entry point for mml.
|
|
4
|
+
#
|
|
5
|
+
# Requires every file under lib/mml in dependency order, then registers
|
|
6
|
+
# each version's models once. Mml.opal_boot! keeps the version files from
|
|
7
|
+
# registering at load time, before their element files are loaded.
|
|
8
|
+
#
|
|
9
|
+
# Ordering:
|
|
10
|
+
# - Each version's Configuration, Namespace and CommonElements load
|
|
11
|
+
# before its element files.
|
|
12
|
+
# - The first `module Mml::VN` autoloads mml/vN.rb. The later
|
|
13
|
+
# `require "mml/vN"` is a no-op.
|
|
14
|
+
# - Mml::VN.register_models! runs after the last element file. It skips
|
|
15
|
+
# a version whose models are already registered.
|
|
16
|
+
|
|
17
|
+
require "lutaml/model"
|
|
18
|
+
|
|
19
|
+
require "mml"
|
|
20
|
+
Mml.opal_boot!
|
|
21
|
+
require "mml/version"
|
|
22
|
+
require "mml/namespace"
|
|
23
|
+
require "mml/context_options"
|
|
24
|
+
require "mml/context_configuration"
|
|
25
|
+
require "mml/versioned_parser"
|
|
26
|
+
|
|
27
|
+
require "mml/base"
|
|
28
|
+
require "mml/common_elements"
|
|
29
|
+
|
|
30
|
+
# Base attribute modules
|
|
31
|
+
require "mml/base/common_attributes"
|
|
32
|
+
require "mml/base/universal_presentation_attributes"
|
|
33
|
+
require "mml/base/v3_common"
|
|
34
|
+
require "mml/base/v3_presentation_attributes"
|
|
35
|
+
require "mml/base/v4_attributes"
|
|
36
|
+
require "mml/base/deprecated_font_attributes"
|
|
37
|
+
require "mml/base/v3_only"
|
|
38
|
+
|
|
39
|
+
# Base v3_only nested files
|
|
40
|
+
require "mml/base/v3_only/operator_attrs"
|
|
41
|
+
require "mml/base/v3_only/style_attrs"
|
|
42
|
+
require "mml/base/v3_only/table_attrs"
|
|
43
|
+
|
|
44
|
+
# Base content loader + content modules
|
|
45
|
+
require "mml/base/content_loader"
|
|
46
|
+
require "mml/base/content/annotation"
|
|
47
|
+
require "mml/base/content/annotation_xml"
|
|
48
|
+
require "mml/base/content/apply"
|
|
49
|
+
require "mml/base/content/arith"
|
|
50
|
+
require "mml/base/content/bind"
|
|
51
|
+
require "mml/base/content/bvar"
|
|
52
|
+
require "mml/base/content/calculus"
|
|
53
|
+
require "mml/base/content/cbytes"
|
|
54
|
+
require "mml/base/content/cerror"
|
|
55
|
+
require "mml/base/content/ci"
|
|
56
|
+
require "mml/base/content/cn"
|
|
57
|
+
require "mml/base/content/condition"
|
|
58
|
+
require "mml/base/content/constants"
|
|
59
|
+
require "mml/base/content/cs"
|
|
60
|
+
require "mml/base/content/csymbol"
|
|
61
|
+
require "mml/base/content/declare"
|
|
62
|
+
require "mml/base/content/degree"
|
|
63
|
+
require "mml/base/content/elementary_functions"
|
|
64
|
+
require "mml/base/content/fn"
|
|
65
|
+
require "mml/base/content/functions"
|
|
66
|
+
require "mml/base/content/interval"
|
|
67
|
+
require "mml/base/content/inverse"
|
|
68
|
+
require "mml/base/content/lambda"
|
|
69
|
+
require "mml/base/content/linear_algebra"
|
|
70
|
+
require "mml/base/content/logic"
|
|
71
|
+
require "mml/base/content/otherwise"
|
|
72
|
+
require "mml/base/content/piece"
|
|
73
|
+
require "mml/base/content/piecewise"
|
|
74
|
+
require "mml/base/content/relations"
|
|
75
|
+
require "mml/base/content/reln"
|
|
76
|
+
require "mml/base/content/semantics"
|
|
77
|
+
require "mml/base/content/sep"
|
|
78
|
+
require "mml/base/content/sets"
|
|
79
|
+
require "mml/base/content/share"
|
|
80
|
+
require "mml/base/content/statistics"
|
|
81
|
+
require "mml/base/content/vector_calculus"
|
|
82
|
+
|
|
83
|
+
# Base presentation modules
|
|
84
|
+
require "mml/base/maction"
|
|
85
|
+
require "mml/base/maligngroup"
|
|
86
|
+
require "mml/base/malignmark"
|
|
87
|
+
require "mml/base/math"
|
|
88
|
+
require "mml/base/menclose"
|
|
89
|
+
require "mml/base/merror"
|
|
90
|
+
require "mml/base/mfenced"
|
|
91
|
+
require "mml/base/mfrac"
|
|
92
|
+
require "mml/base/mfraction"
|
|
93
|
+
require "mml/base/mglyph"
|
|
94
|
+
require "mml/base/mi"
|
|
95
|
+
require "mml/base/mlabeledtr"
|
|
96
|
+
require "mml/base/mlongdiv"
|
|
97
|
+
require "mml/base/mmultiscripts"
|
|
98
|
+
require "mml/base/mn"
|
|
99
|
+
require "mml/base/mo"
|
|
100
|
+
require "mml/base/mover"
|
|
101
|
+
require "mml/base/mpadded"
|
|
102
|
+
require "mml/base/mphantom"
|
|
103
|
+
require "mml/base/mprescripts"
|
|
104
|
+
require "mml/base/mroot"
|
|
105
|
+
require "mml/base/mrow"
|
|
106
|
+
require "mml/base/ms"
|
|
107
|
+
require "mml/base/mscarries"
|
|
108
|
+
require "mml/base/mscarry"
|
|
109
|
+
require "mml/base/msgroup"
|
|
110
|
+
require "mml/base/msline"
|
|
111
|
+
require "mml/base/mspace"
|
|
112
|
+
require "mml/base/msqrt"
|
|
113
|
+
require "mml/base/msrow"
|
|
114
|
+
require "mml/base/mstack"
|
|
115
|
+
require "mml/base/mstyle"
|
|
116
|
+
require "mml/base/msub"
|
|
117
|
+
require "mml/base/msubsup"
|
|
118
|
+
require "mml/base/msup"
|
|
119
|
+
require "mml/base/mtable"
|
|
120
|
+
require "mml/base/mtd"
|
|
121
|
+
require "mml/base/mtext"
|
|
122
|
+
require "mml/base/mtr"
|
|
123
|
+
require "mml/base/munder"
|
|
124
|
+
require "mml/base/munderover"
|
|
125
|
+
require "mml/base/none"
|
|
126
|
+
require "mml/base/semantics"
|
|
127
|
+
|
|
128
|
+
# v2 shared infrastructure
|
|
129
|
+
require "mml/v2/configuration"
|
|
130
|
+
require "mml/v2/namespace"
|
|
131
|
+
require "mml/v2/common_elements"
|
|
132
|
+
|
|
133
|
+
# v2 element files
|
|
134
|
+
require "mml/v2/annotation"
|
|
135
|
+
require "mml/v2/annotation_xml"
|
|
136
|
+
require "mml/v2/apply"
|
|
137
|
+
require "mml/v2/arith"
|
|
138
|
+
require "mml/v2/bind"
|
|
139
|
+
require "mml/v2/bvar"
|
|
140
|
+
require "mml/v2/calculus"
|
|
141
|
+
require "mml/v2/ci"
|
|
142
|
+
require "mml/v2/cn"
|
|
143
|
+
require "mml/v2/condition"
|
|
144
|
+
require "mml/v2/constants"
|
|
145
|
+
require "mml/v2/csymbol"
|
|
146
|
+
require "mml/v2/degree"
|
|
147
|
+
require "mml/v2/elementary_functions"
|
|
148
|
+
require "mml/v2/fn"
|
|
149
|
+
require "mml/v2/functions"
|
|
150
|
+
require "mml/v2/interval"
|
|
151
|
+
require "mml/v2/inverse"
|
|
152
|
+
require "mml/v2/lambda"
|
|
153
|
+
require "mml/v2/linear_algebra"
|
|
154
|
+
require "mml/v2/logic"
|
|
155
|
+
require "mml/v2/maction"
|
|
156
|
+
require "mml/v2/maligngroup"
|
|
157
|
+
require "mml/v2/malignmark"
|
|
158
|
+
require "mml/v2/math"
|
|
159
|
+
require "mml/v2/menclose"
|
|
160
|
+
require "mml/v2/merror"
|
|
161
|
+
require "mml/v2/mfenced"
|
|
162
|
+
require "mml/v2/mfrac"
|
|
163
|
+
require "mml/v2/mfraction"
|
|
164
|
+
require "mml/v2/mglyph"
|
|
165
|
+
require "mml/v2/mi"
|
|
166
|
+
require "mml/v2/mlabeledtr"
|
|
167
|
+
require "mml/v2/mlongdiv"
|
|
168
|
+
require "mml/v2/mmultiscripts"
|
|
169
|
+
require "mml/v2/mn"
|
|
170
|
+
require "mml/v2/mo"
|
|
171
|
+
require "mml/v2/mover"
|
|
172
|
+
require "mml/v2/mpadded"
|
|
173
|
+
require "mml/v2/mphantom"
|
|
174
|
+
require "mml/v2/mprescripts"
|
|
175
|
+
require "mml/v2/mroot"
|
|
176
|
+
require "mml/v2/mrow"
|
|
177
|
+
require "mml/v2/ms"
|
|
178
|
+
require "mml/v2/mscarries"
|
|
179
|
+
require "mml/v2/mscarry"
|
|
180
|
+
require "mml/v2/msgroup"
|
|
181
|
+
require "mml/v2/msline"
|
|
182
|
+
require "mml/v2/mspace"
|
|
183
|
+
require "mml/v2/msqrt"
|
|
184
|
+
require "mml/v2/msrow"
|
|
185
|
+
require "mml/v2/mstack"
|
|
186
|
+
require "mml/v2/mstyle"
|
|
187
|
+
require "mml/v2/msub"
|
|
188
|
+
require "mml/v2/msubsup"
|
|
189
|
+
require "mml/v2/msup"
|
|
190
|
+
require "mml/v2/mtable"
|
|
191
|
+
require "mml/v2/mtd"
|
|
192
|
+
require "mml/v2/mtext"
|
|
193
|
+
require "mml/v2/mtr"
|
|
194
|
+
require "mml/v2/munder"
|
|
195
|
+
require "mml/v2/munderover"
|
|
196
|
+
require "mml/v2/none"
|
|
197
|
+
require "mml/v2/otherwise"
|
|
198
|
+
require "mml/v2/piece"
|
|
199
|
+
require "mml/v2/piecewise"
|
|
200
|
+
require "mml/v2/relations"
|
|
201
|
+
require "mml/v2/reln"
|
|
202
|
+
require "mml/v2/semantics"
|
|
203
|
+
require "mml/v2/sep"
|
|
204
|
+
require "mml/v2/sets"
|
|
205
|
+
require "mml/v2/statistics"
|
|
206
|
+
require "mml/v2/vector_calculus"
|
|
207
|
+
|
|
208
|
+
# v2 module (already autoloaded above)
|
|
209
|
+
require "mml/v2"
|
|
210
|
+
|
|
211
|
+
# v3 shared infrastructure
|
|
212
|
+
require "mml/v3/configuration"
|
|
213
|
+
require "mml/v3/namespace"
|
|
214
|
+
require "mml/v3/common_elements"
|
|
215
|
+
|
|
216
|
+
# v3 element files
|
|
217
|
+
require "mml/v3/annotation"
|
|
218
|
+
require "mml/v3/annotation_xml"
|
|
219
|
+
require "mml/v3/apply"
|
|
220
|
+
require "mml/v3/arith"
|
|
221
|
+
require "mml/v3/bind"
|
|
222
|
+
require "mml/v3/calculus"
|
|
223
|
+
require "mml/v3/cbytes"
|
|
224
|
+
require "mml/v3/cerror"
|
|
225
|
+
require "mml/v3/ci"
|
|
226
|
+
require "mml/v3/cn"
|
|
227
|
+
require "mml/v3/constants"
|
|
228
|
+
require "mml/v3/constructs"
|
|
229
|
+
require "mml/v3/cs"
|
|
230
|
+
require "mml/v3/csymbol"
|
|
231
|
+
require "mml/v3/deprecated_content"
|
|
232
|
+
require "mml/v3/elementary_functions"
|
|
233
|
+
require "mml/v3/functions"
|
|
234
|
+
require "mml/v3/linear_algebra"
|
|
235
|
+
require "mml/v3/logic"
|
|
236
|
+
require "mml/v3/maction"
|
|
237
|
+
require "mml/v3/maligngroup"
|
|
238
|
+
require "mml/v3/malignmark"
|
|
239
|
+
require "mml/v3/math"
|
|
240
|
+
require "mml/v3/menclose"
|
|
241
|
+
require "mml/v3/merror"
|
|
242
|
+
require "mml/v3/mfenced"
|
|
243
|
+
require "mml/v3/mfrac"
|
|
244
|
+
require "mml/v3/mfraction"
|
|
245
|
+
require "mml/v3/mglyph"
|
|
246
|
+
require "mml/v3/mi"
|
|
247
|
+
require "mml/v3/mlabeledtr"
|
|
248
|
+
require "mml/v3/mlongdiv"
|
|
249
|
+
require "mml/v3/mmultiscripts"
|
|
250
|
+
require "mml/v3/mn"
|
|
251
|
+
require "mml/v3/mo"
|
|
252
|
+
require "mml/v3/mover"
|
|
253
|
+
require "mml/v3/mpadded"
|
|
254
|
+
require "mml/v3/mphantom"
|
|
255
|
+
require "mml/v3/mprescripts"
|
|
256
|
+
require "mml/v3/mroot"
|
|
257
|
+
require "mml/v3/mrow"
|
|
258
|
+
require "mml/v3/ms"
|
|
259
|
+
require "mml/v3/mscarries"
|
|
260
|
+
require "mml/v3/mscarry"
|
|
261
|
+
require "mml/v3/msgroup"
|
|
262
|
+
require "mml/v3/msline"
|
|
263
|
+
require "mml/v3/mspace"
|
|
264
|
+
require "mml/v3/msqrt"
|
|
265
|
+
require "mml/v3/msrow"
|
|
266
|
+
require "mml/v3/mstack"
|
|
267
|
+
require "mml/v3/mstyle"
|
|
268
|
+
require "mml/v3/msub"
|
|
269
|
+
require "mml/v3/msubsup"
|
|
270
|
+
require "mml/v3/msup"
|
|
271
|
+
require "mml/v3/mtable"
|
|
272
|
+
require "mml/v3/mtd"
|
|
273
|
+
require "mml/v3/mtext"
|
|
274
|
+
require "mml/v3/mtr"
|
|
275
|
+
require "mml/v3/munder"
|
|
276
|
+
require "mml/v3/munderover"
|
|
277
|
+
require "mml/v3/none"
|
|
278
|
+
require "mml/v3/relations"
|
|
279
|
+
require "mml/v3/semantics"
|
|
280
|
+
require "mml/v3/sets"
|
|
281
|
+
require "mml/v3/statistics"
|
|
282
|
+
require "mml/v3/vector_calculus"
|
|
283
|
+
require "mml/v3/version"
|
|
284
|
+
|
|
285
|
+
# v3 module (already autoloaded above)
|
|
286
|
+
require "mml/v3"
|
|
287
|
+
|
|
288
|
+
# v4 shared infrastructure
|
|
289
|
+
require "mml/v4/configuration"
|
|
290
|
+
require "mml/v4/namespace"
|
|
291
|
+
require "mml/v4/common_elements"
|
|
292
|
+
|
|
293
|
+
# v4 element files
|
|
294
|
+
require "mml/v4/a"
|
|
295
|
+
require "mml/v4/annotation"
|
|
296
|
+
require "mml/v4/annotation_xml"
|
|
297
|
+
require "mml/v4/apply"
|
|
298
|
+
require "mml/v4/arith"
|
|
299
|
+
require "mml/v4/calculus"
|
|
300
|
+
require "mml/v4/cbytes"
|
|
301
|
+
require "mml/v4/cerror"
|
|
302
|
+
require "mml/v4/ci"
|
|
303
|
+
require "mml/v4/cn"
|
|
304
|
+
require "mml/v4/constants"
|
|
305
|
+
require "mml/v4/constructs"
|
|
306
|
+
require "mml/v4/cs"
|
|
307
|
+
require "mml/v4/csymbol"
|
|
308
|
+
require "mml/v4/deprecated_content"
|
|
309
|
+
require "mml/v4/elementary_functions"
|
|
310
|
+
require "mml/v4/factorof"
|
|
311
|
+
require "mml/v4/functions"
|
|
312
|
+
require "mml/v4/limit"
|
|
313
|
+
require "mml/v4/linear_algebra"
|
|
314
|
+
require "mml/v4/logic"
|
|
315
|
+
require "mml/v4/maction"
|
|
316
|
+
require "mml/v4/maligngroup"
|
|
317
|
+
require "mml/v4/malignmark"
|
|
318
|
+
require "mml/v4/math"
|
|
319
|
+
require "mml/v4/menclose"
|
|
320
|
+
require "mml/v4/merror"
|
|
321
|
+
require "mml/v4/mfenced"
|
|
322
|
+
require "mml/v4/mfrac"
|
|
323
|
+
require "mml/v4/mfraction"
|
|
324
|
+
require "mml/v4/mglyph"
|
|
325
|
+
require "mml/v4/mi"
|
|
326
|
+
require "mml/v4/mlabeledtr"
|
|
327
|
+
require "mml/v4/mlongdiv"
|
|
328
|
+
require "mml/v4/mmultiscripts"
|
|
329
|
+
require "mml/v4/mn"
|
|
330
|
+
require "mml/v4/mo"
|
|
331
|
+
require "mml/v4/mover"
|
|
332
|
+
require "mml/v4/mpadded"
|
|
333
|
+
require "mml/v4/mphantom"
|
|
334
|
+
require "mml/v4/mprescripts"
|
|
335
|
+
require "mml/v4/mroot"
|
|
336
|
+
require "mml/v4/mrow"
|
|
337
|
+
require "mml/v4/ms"
|
|
338
|
+
require "mml/v4/mscarries"
|
|
339
|
+
require "mml/v4/mscarry"
|
|
340
|
+
require "mml/v4/msgroup"
|
|
341
|
+
require "mml/v4/msline"
|
|
342
|
+
require "mml/v4/mspace"
|
|
343
|
+
require "mml/v4/msqrt"
|
|
344
|
+
require "mml/v4/msrow"
|
|
345
|
+
require "mml/v4/mstack"
|
|
346
|
+
require "mml/v4/mstyle"
|
|
347
|
+
require "mml/v4/msub"
|
|
348
|
+
require "mml/v4/msubsup"
|
|
349
|
+
require "mml/v4/msup"
|
|
350
|
+
require "mml/v4/mtable"
|
|
351
|
+
require "mml/v4/mtd"
|
|
352
|
+
require "mml/v4/mtext"
|
|
353
|
+
require "mml/v4/mtr"
|
|
354
|
+
require "mml/v4/munder"
|
|
355
|
+
require "mml/v4/munderover"
|
|
356
|
+
require "mml/v4/none"
|
|
357
|
+
require "mml/v4/relations"
|
|
358
|
+
require "mml/v4/semantics"
|
|
359
|
+
require "mml/v4/sets"
|
|
360
|
+
require "mml/v4/statistics"
|
|
361
|
+
require "mml/v4/tendsto"
|
|
362
|
+
require "mml/v4/vector_calculus"
|
|
363
|
+
require "mml/v4/version"
|
|
364
|
+
|
|
365
|
+
# v4 module (already autoloaded above)
|
|
366
|
+
require "mml/v4"
|
|
367
|
+
|
|
368
|
+
# Register every version now that all element files are loaded.
|
|
369
|
+
Mml::V2.register_models!
|
|
370
|
+
Mml::V3.register_models!
|
|
371
|
+
Mml::V4.register_models!
|