<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<title>WG: [python-users] Pyparsing</title>
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.E-MailFormatvorlage18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=DE link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'>Hallo Dirk,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'>anbei ein paar Tipps von meinem Kollegen
Tobias Schlauch (der den Pyparsing-Vortrag gehalten hat) für Dich.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'>Viele Grüße<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'>Anastasia<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'>---------------------------------<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Mit freundlichen Grüßen<br>
<br>
Deutsches Zentrum für Luft- und Raumfahrt e.V.<br>
</span></font><font size=1 face=Arial><span style='font-size:8.0pt;font-family:
Arial'>in der Helmholtz-Gemeinschaft</span></font><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'><br>
<br>
Simulations- und Softwaretechnik<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Abteilung Verteilte Systeme und Komponentensoftware<br>
<br>
Dipl.-Inf. Anastasia Eifer<br>
<br>
Porz-Wahnheide<br>
Linder Höhe<br>
51147 Köln<br>
Telefon 02203 601-2059<br>
Telefax 02203 601-3070<br>
E-Mail mailto:Anastasia.Eifer@dlr.de<br>
Internet http://www.DLR.de<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>Von:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Schlauch, Tobias
<br>
<b><span style='font-weight:bold'>Gesendet:</span></b> Mittwoch, 28. Mai 2008
13:28<br>
<b><span style='font-weight:bold'>An:</span></b> Eifer, Anastasia<br>
<b><span style='font-weight:bold'>Betreff:</span></b> AW: [python-users]
Pyparsing</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

<div id=idOWAReplyText44602>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Hallo Anastasia,</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>anbei ein paar Tipps für den Dirk. Leider hab ich nicht die
gannante anghangene Datei, aber vllt. reichen die Infos ja schon aus.</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Zu Problem 1) kann ich nicht viel sagen.
Den Parsing-Tree selbst bekommt man nicht so einfach, man kann aber das
Ergebnis für eine Weiterverarbeitung schon bei der Definition der Grammatik
beeinflussen z.B. durch Gruppierungen mit der Group-Klasse. Weiterhin kann man
sich durch Parsing-Aktions bei der Erkennung der Tokens registrieren und damit
schon eine spätere Weiterverarbeitung beeinflussen. Also - ohne die Grammatik
gesehen zu haben - sollte es doch z.B. ausreichend sein am Ende eine Liste zu
haben, bei dem jedes Element einem Intrawikilink entspricht. Letztendlich
kann auch der Output eine baumartige Struktur haben, wenn man die Grammatik entsprechend
definiert hat. Beispiele dafür sind die Hilfsfunktionen operatorPrecedence und
nestedExpr (wenn man die Ergebnisse auf Basis von asList() verarbeitet, bekommt
man eine Liste von Elemente, die wiederum Listen enthält). Ansosnten die Frage
direkt mal beim Entwickler posten.</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Zu Problem 2):</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>testExpr = CharsNotIn(u"äöü") # Definition
irgendwelcher Zeichen, die nicht erlaubt sind, können also einfach</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>                                           
# als Parameter übergeben werden</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>test = u"lkah oop üö sudhäö" # Testzeichenkette</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>testExpr.searchString(test).asList() # Sucht alle Vorkommen
die passen</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>[[u'lkah oop '], [u' sudh']]</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Du solltest also alle Zeichen bekommen, die erlaubt sind und
die nicht erlaubten werden einfach herausgeschnitten. Ich hoffe dies ist das
was du erreichen möchtest.</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'> <o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Viele Grüße</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Tobias</span></font><o:p></o:p></p>

</div>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabIndex=-1>

</span></font></div>

<p class=MsoNormal style='margin-bottom:12.0pt'><b><font size=2 face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;font-weight:bold'>Von:</span></font></b><font
size=2 face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Eifer,
Anastasia<br>
<b><span style='font-weight:bold'>Gesendet:</span></b> Do 22.05.2008 11:59<br>
<b><span style='font-weight:bold'>An:</span></b> Schlauch, Tobias<br>
<b><span style='font-weight:bold'>Betreff:</span></b> WG: [python-users]
Pyparsing</span></font><o:p></o:p></p>

</div>

<div>

<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>Hallo
Tobias,</span></font> <o:p></o:p></p>

<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>da
braucht jemand Deine Hilfe...</span></font> <o:p></o:p></p>

<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>Liebe
Grüße</span></font> <o:p></o:p></p>

<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>Anastasia</span></font>
<o:p></o:p></p>

<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>-----Ursprüngliche
Nachricht-----</span></font> <br>
<font size=2><span style='font-size:10.0pt'>Von:
python-users-bounces@uni-koeln.de [<a
href="mailto:python-users-bounces@uni-koeln.de">mailto:python-users-bounces@uni-koeln.de</a>]
Im Auftrag von hunniger</span></font> <br>
<font size=2><span style='font-size:10.0pt'>Gesendet: Mittwoch, 21. Mai 2008
19:27</span></font> <br>
<font size=2><span style='font-size:10.0pt'>An: pyCologne</span></font> <br>
<font size=2><span style='font-size:10.0pt'>Betreff: [python-users] Pyparsing</span></font>
<o:p></o:p></p>

<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>Hallo,</span></font>
<br>
<font size=2><span style='font-size:10.0pt'>Ich habe mich vor ein paar Monaten
schon mal mit pyparsing versucht, war </span></font><br>
<font size=2><span style='font-size:10.0pt'>damals aber nicht sehr erfolgreich.
Vieleicht kann mir ja der Mensch der </span></font><br>
<font size=2><span style='font-size:10.0pt'>den Pyparsing Vortrag gehalten hat
weiter helfen. Siehe unten.</span></font> <br>
<font size=2><span style='font-size:10.0pt'>Gruß Dirk</span></font> <o:p></o:p></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

<p><font size=2 face="Times New Roman"><span style='font-size:10.0pt'>I am
trying to get started with the pyparing. I am working on a programm </span></font><br>
<font size=2><span style='font-size:10.0pt'>that read files in the mediawiki
format and write files in the latex </span></font><br>
<font size=2><span style='font-size:10.0pt'>format. I currently have got a
problem with the "|" character since it </span></font><br>
<font size=2><span style='font-size:10.0pt'>is used as a seperator inside an
intrawikilink as well as a seperator </span></font><br>
<font size=2><span style='font-size:10.0pt'>for cells in a table, which
naturaly causes problems with tables which </span></font><br>
<font size=2><span style='font-size:10.0pt'>contain intrawikilinks. As far as I
found out pyparsing is able to solve </span></font><br>
<font size=2><span style='font-size:10.0pt'>this problem in a good way.</span></font>
<br>
<font size=2><span style='font-size:10.0pt'>So I tryed to write a grammer for a
wikilink, which is given in the </span></font><br>
<font size=2><span style='font-size:10.0pt'>attached file. There is a problem
with the asXML function. You may look </span></font><br>
<font size=2><span style='font-size:10.0pt'>at the output when you run the
program comparing it with the multiline </span></font><br>
<font size=2><span style='font-size:10.0pt'>docstring given in the sourcecode.
Essetially I would have expected the </span></font><br>
<font size=2><span style='font-size:10.0pt'>output to be similar to the
docstring. But it is much different. </span></font><br>
<font size=2><span style='font-size:10.0pt'>Pyparsing writes a list like
structure and I expected a tree like </span></font><br>
<font size=2><span style='font-size:10.0pt'>structure. I often heard the term
parse tree. So how is it possible to </span></font><br>
<font size=2><span style='font-size:10.0pt'>access the parse tree that pypasing
creates. The list view of the </span></font><br>
<font size=2><span style='font-size:10.0pt'>parsetree does not seem to be
useful for my problem. The second problem </span></font><br>
<font size=2><span style='font-size:10.0pt'>I have is that I want to run
pyparsing on a unicode file that I open </span></font><br>
<font size=2><span style='font-size:10.0pt'>with
codecs.open("text","r","utf8"). So there are very
many possible </span></font><br>
<font size=2><span style='font-size:10.0pt'>characters that I do not want to
list in my sourcecode. So how can I </span></font><br>
<font size=2><span style='font-size:10.0pt'>write down a grammer expression
that machtes a series of arbitrary </span></font><br>
<font size=2><span style='font-size:10.0pt'>characters, which does not include
certain specifically mentioned </span></font><br>
<font size=2><span style='font-size:10.0pt'>charactes.</span></font> <br>
<font size=2><span style='font-size:10.0pt'>Cheers Dirk</span></font> <br>
<font size=2><span style='font-size:10.0pt'>________________________________________</span></font>
<br>
<font size=2><span style='font-size:10.0pt'>Diese Mail erhalten Sie ueber die
Mailingliste Python-users der Universitaet zu Koeln</span></font> <br>
<font size=2><span style='font-size:10.0pt'>Python-users@uni-koeln.de</span></font>
<br>
<font size=2><span style='font-size:10.0pt'><a
href="https://lists.uni-koeln.de/mailman/listinfo/python-users">https://lists.uni-koeln.de/mailman/listinfo/python-users</a></span></font>
<o:p></o:p></p>

</div>

</div>

</body>

</html>