MathML到/从纯文本转换器

阅读: 评论:0

MathML到/从纯文本转换器

MathML到/从纯文本转换器

目录

介绍

参与的类

准备

使用代码

基本原则


  • 下载 .NET Core3.1 源 15.1 KB
  • 下载 .NET Core3.1 演示 240.5 KB
  • 下载 .NET 源 5.6 Mb​​​​​​​
  • 下载 .NET 演示 455.9 KB
  • 下载 Javascript 演示和源代码 5.8 KB

介绍

将MathML代码转换为纯文本的资源似乎很少。一个很好的理由是在如何格式化一些数学表达式方面没有达成共识。但是对于许多涉及(+,-,/,*,^,=)运算符的表达式,这里是一种可能的转换器。

参与的类

  • 类MathToString用MathML代码准备了string,以便class ParseML可以执行详细的解析。

准备

首先,空格被空字符串替换,一些特殊字符也被替换。此外,数学表达式中不涉及的一些标签(如style标签)也被删除。然后代码从最内部的 <mfrac>...</mfrac>, <msup>...</msup>, <mrow>...</mrow>, <msqrt>...</msqrt>标签转到最外面的标签,被解析和替换,将它们封闭在特殊字符之间,以便以后可以按ParseML类恢复。

使用代码

要转换,只需调用共享方法vertToString():

Dim converted as String = vertToString(MathMLcodeToConvert)

要将文本转换为MathML,请调用convertStringToMathML()。

基本原则

解析方法是递归下降解析:Parsing Expressions by Recursive Descent。

求值方法E调用T进行任何加法或减法,但T首先调用F进行任何乘法或减法,并且F首先调用P进行任何可能的幂运算。P首先调用v以获取下一个令牌。如果有"(" 标记,则v递归调用T。

E --> T {( "+" | "-" ) T}
T --> F {( "*" | "/" ) F}
F --> P ["^" F]
P --> v | "(" E ")" | "-" T

本文发布于:2024-01-31 05:23:55,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170664983825870.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:转换器   文本   MathML
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23