From: Paolo Marinelli Date: Thu, 27 Mar 2003 18:40:55 +0000 (+0000) Subject: Added some rules in the "Left Drop" section. X-Git-Tag: before_refactoring~81 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=9d8f4a56e293e2686903be2b8bb63bbf6128bb18;p=helm.git Added some rules in the "Left Drop" section. --- diff --git a/helm/DEVEL/mathml_editor/doc/spec.tex b/helm/DEVEL/mathml_editor/doc/spec.tex index 1c20a1564..80ce0dd6b 100644 --- a/helm/DEVEL/mathml_editor/doc/spec.tex +++ b/helm/DEVEL/mathml_editor/doc/spec.tex @@ -27,6 +27,7 @@ \newcommand{\ROW}{\texttt{row}} \newcommand{\SLDROP}{\blacktriangleleft} \newcommand{\NLDROP}{\vartriangleleft} +\newcommand{\RGROUP}{\vartriangleleft_{rg}} \begin{document} @@ -416,12 +417,18 @@ cursor with \ONODE{}, append $\tadvance$ after the \ONODE{} node % ...... is equivalent to: % - % there is an optional sequence of groups with id, all of which having one and only one child. The last - % child of this sequence (or the root, if the sequence is empty) is a group with id, has as first element a - % token and has as second and last element an eventually empty sequence of groups with id, all of which having - %one and only one child. The last element of this sequence has the cursor as its child. - \item{\verb+(g[@id][^#$]/++\verb+)?g[@id][^(i|n|o|s|c[ ])#$]/(g[@id][^#$]/++\verb+)?cursor+}\\ - replace the whole fragment with the cursor. + \item{\verb+[(i|n|o|s|c[ ])#]/(g[@id][^#$]/++\verb+)?cursor+}\\ + remove the cursor (and eventually the sequence of \G{} nodes with attribute \texttt{id}) and replace the token with the $\RGROUP$. + + \item{\verb+[g#]/(g[@id][^#$]/++\verb+)?cursor+}\\ + remove the cursor (and eventually the sequence of \G{} nodes with attribute \texttt{id}) and append $\NLDG$ to the \G{} node preceding the cursor + + %% there is an optional sequence of groups with id, all of which having one and only one child. The last + %% child of this sequence (or the root, if the sequence is empty) is a group with id, has as first element a + %% token and has as second and last element an eventually empty sequence of groups with id, all of which having + %%one and only one child. The last element of this sequence has the cursor as its child. + %\item{\verb+(g[@id][^#$]/++\verb+)?g[@id][^(i|n|o|s|c[ ])#$]/(g[@id][^#$]/++\verb+)?cursor+}\\ + %replace the whole fragment with the cursor. % the cursor is a macro's child. There is an eventually empty sequence of delimiters, which precedes the % cursor. Before this sequence, there is a p node. This p node has as its last child a token @@ -636,6 +643,22 @@ cursor with \ONODE{}, append $\tadvance$ after the \ONODE{} node \begin{description} + %********************* epsilon rules concerning the rgreplace_father ******************** + + \item{\verb+(g[@id][^#$]/++\verb+)+$\RGROUP$}\\ + replace the whole fragment with the cursor. + + \item{\verb+*[!@id]/+$\RGROUP$}\\ + replace the $\RGROUP$ with the cursor. + + \item{\verb+g[@id][*#]/+$\RGROUP$}\\ + replace the $\RGROUP$ with the cursor + + \item{\verb+g[@id][#*]/+$\RGROUP$}\\ + replace the $\RGROUP$ with the cursor. + % maybe it's not the correct action + + %********************************************* \NLDROP has a preceding node *********************************************