<div dir="ltr"><a href="http://translate.google.com">http://translate.google.com</a><div><br></div><div>--></div><div><br></div><div><div>Hello Jörg,</div><div><br></div><div>Thank you for your interest. Just as described by you, I am also tackled the problem and have solved it successfully.</div><div><br></div><div>But, as I said, I scratch around with any major change to the 64K limit for modules, and then begin to search for bytes that I can save.</div><div><br></div><div>My question is whether there is already for lowlayer (database or object model) any aid in Oberon, with which one could solve my problem elegantly.</div><div><br></div><div>I remember that as at the ETHZ Gives compiler generators or similar. But I'm just a physicist and computer scientist too little to assess the can.</div><div><br></div><div>And maybe that would be shooting at sparrows with cannons also.</div></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-01-19 5:53 GMT-06:00 Dieter <span dir="ltr"><<a href="mailto:d.gloetzel@web.de" target="_blank">d.gloetzel@web.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div text="#000000" bgcolor="#FFFFFF">
<div>Hello Alexander,<br>
<br>
I am sorry for our digression in German. It won't happen again.<br>
<br>
My case is described in my mail from yesterday (18.01.2016).<br>
<br>
Regards, Dieter<div><div class="h5"><br>
<br>
<br>
Am 19.01.2016 um 10:24 schrieb Alexander Ilin:<br>
</div></div></div>
<blockquote type="cite"><div><div class="h5">
<div>Hello Joerg and Dieter!</div>
<div> </div>
<div> If you two are having a private conversation, why don't you
use private e-mail?</div>
<div> I'm asking, because I have no idea what you just said.</div>
<div> </div>
<div>19.01.2016, 12:05, "Dieter" <a href="mailto:d.gloetzel@web.de" target="_blank"><d.gloetzel@web.de></a>:</div>
</div></div><blockquote type="cite"><div><div class="h5">
<div bgcolor="#FFFFFF">
<div>Hallo Jörg,<br>
<br>
danke für Dein Interesse. Genauso, wie von dir beschrieben,
bin ich das Problem auch angegangen und habe es auch
erfolgreich gelöst.<br>
<br>
Aber, wie gesagt, schramme ich bei jeder größeren Änderung
an der 64K-Grenze für Module herum, und fange dann an, nach
Bytes zu suchen, die ich einsparen kann.<br>
<br>
Meine Frage ist, ob es für den lowlayer (Datenbank oder
Objektmodell) bereits irgendwelche Hilfsmittel in Oberon
gibt, mit denen man mein Problem eleganter lösen könnte.<br>
<br>
Ich erinnere mich, dass es an der ETHZ z.B.
Compilergeneratoren oder Ähnliches gibt. Aber ich bin nur
Physiker und zuwenig Informatiker, um das einschätzen zu
können.<br>
<br>
Und vielleicht wäre das auch mit Kanonen auf Spatzen
geschossen.<br>
<br>
Gruß<br>
Dieter<br>
<br>
<br>
<br>
Am 19.01.2016 um 08:37 schrieb Jörg Straube:</div>
<blockquote type="cite">
<pre>Dieter
Deine Aufgabe besteht eigentlich aus zwei Teilen
1) Syntax: Lowlayer Ein- und Ausgabe der zwei Sprachen (XML und TeX)
2) Semantik: Umwandeln bzw Mappen der beiden unterschiedlichen Datenmodelle beider Sprachen
XML scheint mir nach Stimme bzw Instrument sortiert, TeX scheint nach Takt sortiert.
Du hast das richtig erkannt, dass du eine Art Objektmodell (du nanntest es Datenbank) als temporären Zwischenspeicher brauchst, das die Info aus beiden Datenmodellen beinhaltet.
Nehmen wir mal an, das ganze Ave Maria hätte im Hauptspeicher Platz, dann brauchst du eine Routine, die das XML parst und mit der Hilfe vielen NEW()s als Objektmodell mit entsprechend Verlinkungen zum einfachen Navigieren innerhalb des Objektmodells im Hauptspeicher ablegst.
Im zweiten Schritt liest eine andere Routine das Objektmodell in der von TeX geforderten Reihenfolge aus und generiert den TeX-Text.
Das ist eigentlich vergleichbar mit einem Compiler: Er liest ASCII-Quelltext ein und gibt RISC5-Assemblercode aus :-)
Auch da hast du einen Scanner, der die Lowlayer Syntax beherrscht (in dienem Fall XML) und einen Parser, der sich um die Semantik kümmert. (in deinem Fall die Instrumente und Takte)
Wenn das Ave Mara nicht im Hauptspeicher Platz findet, wird’s komplizierter, da du dann entweder das Objektmodell in einer Datei zwischenspeichern musst, oder du das XML immer wieder von Beginn weg parst bis du bei dem Takt angelangt bist, den du via TeX gerade rausschreiben willst.
Gruss
Jörg
</pre>
<blockquote type="cite">
<pre>Am 18.01.2016 um 10:44 schrieb Dieter <a href="mailto:d.gloetzel@web.de" target="_blank"><d.gloetzel@web.de></a>:
Doug,
you are right. I should express myself more clearly.
My overall theme is typesetting musical notes. There exists a description language called "MusicXML" developed by RECORDARE Inc., which can be exported from several musical typesetting systems.
And there is a TeX based musical typesetting system called "MusiXTeX" with a preprocessor called "PMX".
I want to convert MusicXML as input to PMX. I have solved my problem already by brute force Oberon programming, but I wonder whether there is a more elegant way to do it.
My program is pretty long, and several times I hit the compiler limit of 64K for module size already. Also the modular layout may be less then optimal.
I am looking for something like a database which makes accessible the contents of the MusicXML file.
I.e. answering questions like "What is the pitch and duration of the 25th note in measure 10 of instrument 7?"
I attach an example.
It would be great, if somebody could share his experience in XML programming with Oberon.
Regards,
Dieter
P.S.: I am using ETHOberon 2.5 plugin for Windows.
Am 18.01.2016 um 00:28 schrieb Dougls G. Danforth:
</pre>
<blockquote type="cite">
<pre>Dieter,
Your question is ambiguous.
Do you mean a parser of Oberon written in XML?
If so what is the output of the parser?
Or do you mean a parser of Oberon that generates XML?
-Doug Danforth
On 1/17/2016 7:57 AM, Dieter wrote:
</pre>
<blockquote type="cite">
<pre>I wonder wether anybody on this mailing list knows about the existence of an XML Parser API for Oberon.
Thanks and regards,
Dieter Glötzel
--
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a>
</pre>
</blockquote>
<pre>--
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a>
</pre>
</blockquote>
<pre>--
____________________________________
Dr. Dieter Glötzel
Im Rosengarten 27
64367 Mühltal
Tel.: 06151 / 360 82 72
<SchbAvMaSample.xml><AveMariaY.PMX><AveMariaY.pdf>--
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a>
</pre>
</blockquote>
<pre> </pre>
<br>
<br>
<pre>--
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a>
</pre>
</blockquote>
<br>
<br>
<pre>--
</pre>
</div></div></div>
,<span>-- <br><span class="">
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a>
mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
</span></span></blockquote>
<div> </div>
<div> </div>
<div>---=====---</div>
<div>Александр</div>
<div> </div>
<br>
<fieldset></fieldset>
<br><span class="">
<pre>--
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a>
</pre>
</span></blockquote>
<br>
<br>
<pre cols="72">-</pre>
</div>
<br>--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><font face="'times new roman', serif">(email is my preferred communication media)</font><div><font face="'times new roman', serif">Aubrey McIntosh, Ph.D.<br>1502 Devon Circle<br>Austin TX 78723-1814</font><div><div><span style="line-height:20px;background-color:rgb(255,255,255)"><font face="'times new roman', serif">(512)-348-7401</font></span></div></div><div><div><br></div></div></div></div></div>
</div>