<br><font size=2 face="sans-serif">Hi Stephan,</font>
<br>
<br><tt><font size=2> * Is it
guaranteed that the parser does not change the textual<br>
representation? (Seems like a obvious yes to
me, but I'd like to<br>
have your confirmation on this)</font></tt>
<br><tt><font size=2>That depends on what you conceive the "textual
representation". If you mean the text that a user sees in the editor
the answer is yes. Of course, the structure of the textblocks model is
altered which, however, won't change what the user sees.<br>
* The lexer takes the PREVIOUS version and creates
the CURRENT<br>
one. If there is an existing CURRENT version,
it is discarded<br>
first. </font></tt>
<br><tt><font size=2> - What does
the parser do with these two versions?</font></tt>
<br><tt><font size=2>The parser uses the versions (in fact also the REFERENCE
version) do determine where the places in the textblocks model that were
newly created, modified or deleted.</font></tt>
<br><tt><font size=2> - When the parser
has finished, are both versions consistent views on model<br>
or are they somewhat different?</font></tt>
<br><tt><font size=2>They are different, as the PREVIOUS version will still
contain tokens that just contain modified values an that are not lexecally
analysed. E.g., after an insertion " bla" to the Token "test"
resulting in PREVIOUS version token "test bla" this value is
still present in the PREVIOUS version token whereas the CURRENT version
may have (of course depending on the lexer rules) two tokens "test"
"bla". Therefore, after the CURRENT version is reached the PREVIOUS
version is obsolete as it is missing the tokenisation that the lexer did.<br>
* Is the latest CURRENT version promoted to become
the new<br>
PREVIOUS version?</font></tt>
<br><tt><font size=2>No, after the CURRENT version is finished by the parser
(currently after performing a save action), the CURRENT version becomes
the new REFERENCE version. Only after a user again makes modifications
to the document, a new PREVIOUS version will be created.<br>
* Is it dangerous to set errorMode=True in the parse
run and force<br>
the parser to inject as far as possible, even
if there are<br>
syntax errors?</font></tt>
<br><font size=2 face="sans-serif">This was my first try to achieve a backgound
parsing. However, there were still some problems with subsequent editings
where the intermediate version was still erronous. To answer your question,
yes it is dangerous. I cant remember what exactly the problems where when
I trie to do this. Is that what you are currently working on? to get the
background parsing to create as much of the model as possible? That would
be great ;) I will try to help you as much as my available time lets me
do this.</font>
<br>
<br><font size=2 face="sans-serif">Cheers,</font>
<br><font size=2 face="sans-serif">Thomas<br>
</font>
<table>
<tr>
<td valign=top><img src=cid:_1_07EF726C07EF6EB0002A80DFC1257839>
<td><font size=3> </font>
<td><font size=1 face="Verdana"><b>Thomas Goldschmidt </b><br>
<br>
ABB AG<br>
Forschungszentrum<br>
Wallstadter Straße 59<br>
68526 Ladenburg<br>
Office Phone: +49 6203 716134<br>
Office Fax: +49 6203 716253<br>
e-mail:</font><font size=1 color=blue face="Verdana"> thomas.goldschmidt@de.abb.com</font></table>
<br>
<br><font size=1 color=#808080 face="Verdana">ABB AG<br>
Sitz/Head Office: Mannheim <br>
Registergericht/Registry Court: Mannheim<br>
Handelsregisternummer/Commercial Register No.: HRB 4664<br>
Geschäftsführung/Managing Board: Peter Smits (Vorsitzender), Joachim Schneider,
Markus Ochsner, Hans-Georg Krabbe<br>
Vorsitzender des Aufsichtsrats/Chairman of Supervisory Board: Bernhard
Jucker<br>
<br>
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich
erhalten haben, informieren Sie bitte sofort den Absender und vernichten
Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe
dieser Mail ist nicht gestattet. <br>
<br>
This e-mail may contain confidential and/or privileged information. If
you are not the intended recipient (or have received this e-mail in error)
please notify the sender immediately and destroy this e-mail. Any unauthorized
copying, disclosure or distribution of the material in this e-mail is strictly
forbidden.</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Stephan Erb <stephan@dev.static-void.de></b>
</font>
<br><font size=1 face="sans-serif">Sent by: furcas-discussion-bounces@lists.furcas.org</font>
<p><font size=1 face="sans-serif">16.02.2011 00:12</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">furcas-discussion <furcas-discussion@lists.furcas.org></font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">[furcas-discussion] Parser Invariants</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2>Hey Thomas,<br>
<br>
I have a few simple questions concerning incremental lexing and parsing.<br>
<br>
* Is it guaranteed that the parser does not change
the textual<br>
representation? (Seems like a obvious yes to
me, but I'd like to<br>
have your confirmation on this)<br>
* The lexer takes the PREVIOUS version and creates
the CURRENT<br>
one. If there is an existing CURRENT version,
it is discarded<br>
first. What does the parser do with these two
versions? When the<br>
parser has finished, are both versions consistent
views on model<br>
or are they somewhat different?<br>
* Is the latest CURRENT version promoted to become
the new<br>
PREVIOUS version?<br>
* Is it dangerous to set errorMode=True in the parse
run and force<br>
the parser to inject as far as possible, even
if there are<br>
syntax errors?<br>
<br>
I ask all these questions because they are crucial when determining the<br>
critical regions for the synchronization of the background parsing<br>
thread. <br>
<br>
Thanks!<br>
Stephan<br>
<br>
_______________________________________________<br>
Furcas-discussion mailing list<br>
Furcas-discussion@lists.furcas.org<br>
</font></tt><a href="http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion"><tt><font size=2>http://lists.furcas.org/cgi-bin/mailman/listinfo/furcas-discussion<br>
</font></tt></a>
<br>