@@ -30,7 +30,7 @@ export const ArithmeticsGrammar = (): Grammar => loadedArithmeticsGrammar ?? (lo
3030 "terminal": {
3131 "$type": "RuleCall",
3232 "rule": {
33- "$ref": "#/rules@12 "
33+ "$ref": "#/rules@9 "
3434 },
3535 "arguments": []
3636 }
@@ -102,7 +102,7 @@ export const ArithmeticsGrammar = (): Grammar => loadedArithmeticsGrammar ?? (lo
102102 "terminal": {
103103 "$type": "RuleCall",
104104 "rule": {
105- "$ref": "#/rules@12 "
105+ "$ref": "#/rules@9 "
106106 },
107107 "arguments": []
108108 }
@@ -194,7 +194,7 @@ export const ArithmeticsGrammar = (): Grammar => loadedArithmeticsGrammar ?? (lo
194194 "terminal": {
195195 "$type": "RuleCall",
196196 "rule": {
197- "$ref": "#/rules@12 "
197+ "$ref": "#/rules@9 "
198198 },
199199 "arguments": []
200200 }
@@ -255,270 +255,65 @@ export const ArithmeticsGrammar = (): Grammar => loadedArithmeticsGrammar ?? (lo
255255 "wildcard": false
256256 },
257257 {
258- "$type": "ParserRule",
259- "name": "Addition",
260- "inferredType": {
261- "$type": "InferredType",
262- "name": "Expression"
258+ "$type": "InfixRule",
259+ "name": "BinaryExpression",
260+ "call": {
261+ "$type": "RuleCall",
262+ "rule": {
263+ "$ref": "#/rules@7"
264+ },
265+ "arguments": []
263266 },
264- "definition": {
265- "$type": "Group",
266- "elements": [
267- {
268- "$type": "RuleCall",
269- "rule": {
270- "$ref": "#/rules@7"
271- },
272- "arguments": []
273- },
267+ "operators": {
268+ "$type": "InfixRuleOperators",
269+ "precedences": [
274270 {
275- "$type": "Group ",
276- "elements ": [
271+ "$type": "InfixRuleOperatorList ",
272+ "operators ": [
277273 {
278- "$type": "Action",
279- "inferredType": {
280- "$type": "InferredType",
281- "name": "BinaryExpression"
282- },
283- "feature": "left",
284- "operator": "="
285- },
286- {
287- "$type": "Assignment",
288- "feature": "operator",
289- "operator": "=",
290- "terminal": {
291- "$type": "Alternatives",
292- "elements": [
293- {
294- "$type": "Keyword",
295- "value": "+"
296- },
297- {
298- "$type": "Keyword",
299- "value": "-"
300- }
301- ]
302- }
303- },
304- {
305- "$type": "Assignment",
306- "feature": "right",
307- "operator": "=",
308- "terminal": {
309- "$type": "RuleCall",
310- "rule": {
311- "$ref": "#/rules@7"
312- },
313- "arguments": []
314- }
274+ "$type": "Keyword",
275+ "value": "%"
315276 }
316- ],
317- "cardinality": "*"
318- }
319- ]
320- },
321- "definesHiddenTokens": false,
322- "entry": false,
323- "fragment": false,
324- "hiddenTokens": [],
325- "parameters": [],
326- "wildcard": false
327- },
328- {
329- "$type": "ParserRule",
330- "name": "Multiplication",
331- "inferredType": {
332- "$type": "InferredType",
333- "name": "Expression"
334- },
335- "definition": {
336- "$type": "Group",
337- "elements": [
338- {
339- "$type": "RuleCall",
340- "rule": {
341- "$ref": "#/rules@8"
342- },
343- "arguments": []
277+ ]
344278 },
345279 {
346- "$type": "Group",
347- "elements": [
348- {
349- "$type": "Action",
350- "inferredType": {
351- "$type": "InferredType",
352- "name": "BinaryExpression"
353- },
354- "feature": "left",
355- "operator": "="
356- },
280+ "$type": "InfixRuleOperatorList",
281+ "operators": [
357282 {
358- "$type": "Assignment",
359- "feature": "operator",
360- "operator": "=",
361- "terminal": {
362- "$type": "Alternatives",
363- "elements": [
364- {
365- "$type": "Keyword",
366- "value": "*"
367- },
368- {
369- "$type": "Keyword",
370- "value": "/"
371- }
372- ]
373- }
374- },
375- {
376- "$type": "Assignment",
377- "feature": "right",
378- "operator": "=",
379- "terminal": {
380- "$type": "RuleCall",
381- "rule": {
382- "$ref": "#/rules@8"
383- },
384- "arguments": []
385- }
283+ "$type": "Keyword",
284+ "value": "^"
386285 }
387- ],
388- "cardinality": "*"
389- }
390- ]
391- },
392- "definesHiddenTokens": false,
393- "entry": false,
394- "fragment": false,
395- "hiddenTokens": [],
396- "parameters": [],
397- "wildcard": false
398- },
399- {
400- "$type": "ParserRule",
401- "name": "Exponentiation",
402- "inferredType": {
403- "$type": "InferredType",
404- "name": "Expression"
405- },
406- "definition": {
407- "$type": "Group",
408- "elements": [
409- {
410- "$type": "RuleCall",
411- "rule": {
412- "$ref": "#/rules@9"
413- },
414- "arguments": []
286+ ]
415287 },
416288 {
417- "$type": "Group",
418- "elements": [
419- {
420- "$type": "Action",
421- "inferredType": {
422- "$type": "InferredType",
423- "name": "BinaryExpression"
424- },
425- "feature": "left",
426- "operator": "="
427- },
289+ "$type": "InfixRuleOperatorList",
290+ "operators": [
428291 {
429- "$type": "Assignment",
430- "feature": "operator",
431- "operator": "=",
432- "terminal": {
433- "$type": "Keyword",
434- "value": "^"
435- }
292+ "$type": "Keyword",
293+ "value": "*"
436294 },
437295 {
438- "$type": "Assignment",
439- "feature": "right",
440- "operator": "=",
441- "terminal": {
442- "$type": "RuleCall",
443- "rule": {
444- "$ref": "#/rules@9"
445- },
446- "arguments": []
447- }
296+ "$type": "Keyword",
297+ "value": "/"
448298 }
449- ],
450- "cardinality": "*"
451- }
452- ]
453- },
454- "definesHiddenTokens": false,
455- "entry": false,
456- "fragment": false,
457- "hiddenTokens": [],
458- "parameters": [],
459- "wildcard": false
460- },
461- {
462- "$type": "ParserRule",
463- "name": "Modulo",
464- "inferredType": {
465- "$type": "InferredType",
466- "name": "Expression"
467- },
468- "definition": {
469- "$type": "Group",
470- "elements": [
471- {
472- "$type": "RuleCall",
473- "rule": {
474- "$ref": "#/rules@10"
475- },
476- "arguments": []
299+ ]
477300 },
478301 {
479- "$type": "Group",
480- "elements": [
481- {
482- "$type": "Action",
483- "inferredType": {
484- "$type": "InferredType",
485- "name": "BinaryExpression"
486- },
487- "feature": "left",
488- "operator": "="
489- },
302+ "$type": "InfixRuleOperatorList",
303+ "operators": [
490304 {
491- "$type": "Assignment",
492- "feature": "operator",
493- "operator": "=",
494- "terminal": {
495- "$type": "Keyword",
496- "value": "%"
497- }
305+ "$type": "Keyword",
306+ "value": "+"
498307 },
499308 {
500- "$type": "Assignment",
501- "feature": "right",
502- "operator": "=",
503- "terminal": {
504- "$type": "RuleCall",
505- "rule": {
506- "$ref": "#/rules@10"
507- },
508- "arguments": []
509- }
309+ "$type": "Keyword",
310+ "value": "-"
510311 }
511- ],
512- "cardinality": "*"
312+ ]
513313 }
514314 ]
515315 },
516- "definesHiddenTokens": false,
517- "entry": false,
518- "fragment": false,
519- "hiddenTokens": [],
520- "parameters": [],
521- "wildcard": false
316+ "parameters": []
522317 },
523318 {
524319 "$type": "ParserRule",
@@ -567,7 +362,7 @@ export const ArithmeticsGrammar = (): Grammar => loadedArithmeticsGrammar ?? (lo
567362 "terminal": {
568363 "$type": "RuleCall",
569364 "rule": {
570- "$ref": "#/rules@13 "
365+ "$ref": "#/rules@10 "
571366 },
572367 "arguments": []
573368 }
0 commit comments