Forum: PC-Programmierung WIRIS CAS (MathML) nach C Code


von John B. (craftsman)


Lesenswert?

Hallo,

nachdem mir wiris sehr schön algebraische Aufgaben löst, suche ich nach 
einer Möglichkeit, die Ergebnisse rasch und wenig fehlerbehaftet in C 
Code um zu setzen.

wiris ist ein java applet und die Ausgabe im Browserfenster ist zwar 
optisch ansprechend, aber nach dem Kopieren steht im Tastaturpuffer so 
etwas:

<math xmlns="http://www.w3.org/1998/Math/MathML"><mrow><mfenced 
close="}" open="{"><mtable align="center"><mtr><mtd><mfenced close="}" 
open="{"><mtable 
align="center"><mtr><mtd><mi>x</mi><mo>=</mo><mfrac><msqrt><mn>511</mn>< 
/msqrt><mn>8</mn></mfrac><mo>+</mo><mfrac><mn>7</mn><mn>8</mn></mfrac><m 
o>,</mo><mi>y</mi><mo>=</mo><mo>-</mo>  ... usw.

Wie kann ich die Ergebnisse ohne abtippen, mit möglichst wenig 
Korrekturarbeit in einen Code Editor rein bekommen?

Bitte um sachdienliche Hinweise :) ,John

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

John B. schrieb:
> aber nach dem Kopieren

Kopieren mit welchem Betriebssystem und Einfügen worein?

Wenn Du beispielsweise unter Windows markierten Text aus einem 
Browserfenster in Word einfügst, werden andere Inhalte transportiert als 
wenn Du in Notepad einfügst.
Das liegt daran, daß die Zwischenablage den Text in verschiedenen 
Formaten gleichzeitig transportieren kann.

Möglicherweise hast Du einen Editor verwendet, der sich die 
HTML-Repräsentation aus der Zwischenablage holt ...

Probier' das ganze mal mit Notepad.

von John B. (craftsman)


Lesenswert?

Ach ja,

guter Hinweis, danke.

System ist Windows xp, Browser IE8, Kopierziel ist das geöffnete 
Notepad.

Innerhalb des Fensters vom Java Applet kann man sehr komfortabel hin und 
her kopieren, das bleibt lesbar und wird vom Java auch richtig 
ausgewertet.

Notepad zeigt die MathML Source wie oben angegeben.

von Weinga U. (weinga-unity)


Lesenswert?

Da MathML XML ist wäre es naheliegend XSLT dazu zu verwenden um MathML 
in C zu transformieren. Ich habe aber keinen Überblick über die 
Komplexität von MathML und kann daher keine Abschätzung über den Aufwand 
machen.

von John B. (craftsman)


Lesenswert?

OK,

XSLT ist schon mal ein sinnvoller Suchbegriff mehr.

Inzwischen verstärkt sich der Eindruck, das das eher mit viel Aufwand 
realisierbar wird. Nun gut, wir werden sehen.

grüsse, John

von Yalu X. (yalu) (Moderator)


Lesenswert?

Im Netz schwirren ein paar Konverter von MathML nach C# herum:

  http://www.softpedia.com/get/Programming/Other-Programming-Files/MathML-to-C-Converter.shtml
  http://www.codeproject.com/Articles/30615/Converting-math-equations-to-C
  http://activemesa.com/mathsharp

Sie stammen alle vom gleichen Autor, wobei der letzte die kommerzielle
Weiterentwicklung der beiden anderen ist. C# ist zwar nicht C, aber
bzgl. der Syntax von arithmetischen Ausdrücken ähnlich.

Es gibt auch eine Python-Bibliothek für das Parsen und Konvertieren von
MathML-Ausdrücken:

  http://mathdom.sourceforge.net/

Leider wird diese Bibliothek nicht mehr gepflegt und lässt sich nicht
ohne weiteres in neueren Python-Versionen verwenden.

von John B. (craftsman)


Lesenswert?

Daas muss ich mir umgehend ansehen - klingt viel versprechend.

grüsse und danke, John



Update:
Hab mir die Software MML# von softpedia herunter geladen. Es ist genau 
das, was ich gesucht habe.
Von C# nach C oder auch Object Pascal (wegen der komfortablen Grafik) 
brauchts nur wenige Suchen/Ersetzen Durchgänge und die Code Zeilen sind 
lauffähig.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.