Skip to content

Commit 8e55551

Browse files
committed
fixes precondition aliasing problem
1 parent 986e958 commit 8e55551

File tree

3 files changed

+141
-1
lines changed

3 files changed

+141
-1
lines changed

mathmaps/de/rules/clearspeak_german.json

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,76 @@
223223
"self::*[@grammar]",
224224
"contains(@grammar,\"prefix\")",
225225
"descendant-or-self::*/text()=\"\""
226+
],
227+
[
228+
"Alias",
229+
"interval-open",
230+
"self::fenced",
231+
"contains(@grammar, \"interval\")",
232+
"content/*[1]/text()=\"]\"",
233+
"content/*[2]/text()=\"[\""
234+
],
235+
[
236+
"Alias",
237+
"interval-closed-open",
238+
"self::fenced",
239+
"contains(@grammar, \"interval\")",
240+
"content/*[1]/text()=\"[\"",
241+
"content/*[2]/text()=\"[\""
242+
],
243+
[
244+
"Alias",
245+
"interval-open-closed",
246+
"self::fenced",
247+
"contains(@grammar, \"interval\")",
248+
"content/*[1]/text()=\"]\"",
249+
"content/*[2]/text()=\"]\""
250+
],
251+
[
252+
"Alias",
253+
"interval-open-inf-r",
254+
"self::fenced",
255+
"contains(@grammar, \"interval\")",
256+
"content/*[1]/text()=\"]\"",
257+
"content/*[2]/text()=\"[\"",
258+
"children/*[1]/children/*[3]/text()=\"\" or (name(children/*[1]/children/*[3])=\"prefixop\" and children/*[1]/children/*[3]/children/*[1]/text()=\"\")"
259+
],
260+
[
261+
"Alias",
262+
"interval-open-inf-l",
263+
"self::fenced",
264+
"contains(@grammar, \"interval\")",
265+
"content/*[1]/text()=\"]\"",
266+
"content/*[2]/text()=\"[\"",
267+
"children/*[1]/children/*[1]/text()=\"\" or (name(children/*[1]/children/*[1])=\"prefixop\" and children/*[1]/children/*[1]/children/*[1]/text()=\"\")"
268+
],
269+
[
270+
"Alias",
271+
"interval-open-inf-lr",
272+
"self::fenced",
273+
"contains(@grammar, \"interval\")",
274+
"content/*[1]/text()=\"]\"",
275+
"content/*[2]/text()=\"[\"",
276+
"children/*[1]/children/*[3]/text()=\"\" or (name(children/*[1]/children/*[3])=\"prefixop\" and children/*[1]/children/*[3]/children/*[1]/text()=\"\")",
277+
"children/*[1]/children/*[1]/text()=\"\" or (name(children/*[1]/children/*[1])=\"prefixop\" and children/*[1]/children/*[1]/children/*[1]/text()=\"\")"
278+
],
279+
[
280+
"Alias",
281+
"interval-closed-open-inf",
282+
"self::fenced",
283+
"contains(@grammar, \"interval\")",
284+
"content/*[1]/text()=\"[\"",
285+
"content/*[2]/text()=\"[\"",
286+
"children/*[1]/children/*[3]/text()=\"\" or (name(children/*[1]/children/*[3])=\"prefixop\" and children/*[1]/children/*[3]/children/*[1]/text()=\"\")"
287+
],
288+
[
289+
"Alias",
290+
"interval-open-closed-inf",
291+
"self::fenced",
292+
"contains(@grammar, \"interval\")",
293+
"content/*[1]/text()=\"]\"",
294+
"content/*[2]/text()=\"]\"",
295+
"children/*[1]/children/*[1]/text()=\"\" or (name(children/*[1]/children/*[1])=\"prefixop\" and children/*[1]/children/*[1]/children/*[1]/text()=\"\")"
226296
]
227297
]
228298
}

mathmaps/fr/rules/clearspeak_french.json

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,76 @@
5959
"children/*[2][@role=\"negative\"]",
6060
"children/*[2]/children/*[1][text()=1]",
6161
"preceding-sibling::*[@role=\"unit\"]"
62+
],
63+
[
64+
"Alias",
65+
"interval-open",
66+
"self::fenced",
67+
"contains(@grammar, \"interval\")",
68+
"content/*[1]/text()=\"]\"",
69+
"content/*[2]/text()=\"[\""
70+
],
71+
[
72+
"Alias",
73+
"interval-closed-open",
74+
"self::fenced",
75+
"contains(@grammar, \"interval\")",
76+
"content/*[1]/text()=\"[\"",
77+
"content/*[2]/text()=\"[\""
78+
],
79+
[
80+
"Alias",
81+
"interval-open-closed",
82+
"self::fenced",
83+
"contains(@grammar, \"interval\")",
84+
"content/*[1]/text()=\"]\"",
85+
"content/*[2]/text()=\"]\""
86+
],
87+
[
88+
"Alias",
89+
"interval-open-inf-r",
90+
"self::fenced",
91+
"contains(@grammar, \"interval\")",
92+
"content/*[1]/text()=\"]\"",
93+
"content/*[2]/text()=\"[\"",
94+
"children/*[1]/children/*[3]/text()=\"\" or (name(children/*[1]/children/*[3])=\"prefixop\" and children/*[1]/children/*[3]/children/*[1]/text()=\"\")"
95+
],
96+
[
97+
"Alias",
98+
"interval-open-inf-l",
99+
"self::fenced",
100+
"contains(@grammar, \"interval\")",
101+
"content/*[1]/text()=\"]\"",
102+
"content/*[2]/text()=\"[\"",
103+
"children/*[1]/children/*[1]/text()=\"\" or (name(children/*[1]/children/*[1])=\"prefixop\" and children/*[1]/children/*[1]/children/*[1]/text()=\"\")"
104+
],
105+
[
106+
"Alias",
107+
"interval-open-inf-lr",
108+
"self::fenced",
109+
"contains(@grammar, \"interval\")",
110+
"content/*[1]/text()=\"]\"",
111+
"content/*[2]/text()=\"[\"",
112+
"children/*[1]/children/*[3]/text()=\"\" or (name(children/*[1]/children/*[3])=\"prefixop\" and children/*[1]/children/*[3]/children/*[1]/text()=\"\")",
113+
"children/*[1]/children/*[1]/text()=\"\" or (name(children/*[1]/children/*[1])=\"prefixop\" and children/*[1]/children/*[1]/children/*[1]/text()=\"\")"
114+
],
115+
[
116+
"Alias",
117+
"interval-closed-open-inf",
118+
"self::fenced",
119+
"contains(@grammar, \"interval\")",
120+
"content/*[1]/text()=\"[\"",
121+
"content/*[2]/text()=\"[\"",
122+
"children/*[1]/children/*[3]/text()=\"\" or (name(children/*[1]/children/*[3])=\"prefixop\" and children/*[1]/children/*[3]/children/*[1]/text()=\"\")"
123+
],
124+
[
125+
"Alias",
126+
"interval-open-closed-inf",
127+
"self::fenced",
128+
"contains(@grammar, \"interval\")",
129+
"content/*[1]/text()=\"]\"",
130+
"content/*[2]/text()=\"]\"",
131+
"children/*[1]/children/*[1]/text()=\"\" or (name(children/*[1]/children/*[1])=\"prefixop\" and children/*[1]/children/*[1]/children/*[1]/text()=\"\")"
62132
]
63133
]
64134
}

ts/rule_engine/math_store.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export class MathStore extends BaseRuleStore {
7676
console.error(`Precondition Error: ${prec} ${args}`);
7777
return;
7878
}
79-
const condition = this.preconditions.get(name);
79+
const condition = this.preconditions.get(name) || this.getFullPreconditions(name);
8080
if (!condition) {
8181
console.error(`Alias Error: No precondition by the name of ${name}`);
8282
return;

0 commit comments

Comments
 (0)