Как оценить выражения MathML? [закрытый]

6
задан Braiam 16 January 2017 в 19:51
поделиться

1 ответ

MathML имеет как семантическую, так и презентационную разметку. Таким образом, общий анализатор MathML для оценки невозможен.

Я не знаю фактической реализации, некоторые быстрые поиски в Google не дали никаких разумных результатов, но в основном это сводится к написанию вашего польского интерпретатора выражений (поскольку в приведенном вами примере используется польская нотация). Шаги:

  1. получить синтаксический анализатор XML и прочитать документ
  2. пройтись по дереву
  3. , если вы встретите известную операцию или элемент, поместить его в стек
  4. , когда подвыражение будет завершено, проанализируйте его (или лучше: дождитесь завершения всего выражения, найдите последнюю операцию, выполните ее с количеством аргументов, предписываемым ее арностью, и выполняйте это, пока не останется никаких операций)

В конце вы получите результат на стек.

3
ответ дан 17 December 2019 в 18:10
поделиться