<div dir="ltr"><div>Thank you, Bernd, for the feedback. But I&#39;m not having success parsing types with docstrings using PET. E.g., I changed sign-min in the ERG like this:</div><div><br></div><div>    sign_min := *avm* &amp;<br>      &quot;doc&quot;<br>      [ SYNSEM synsem_min,<br>        KEY-ARG bool ].<br><br></div><div>But flop doesn&#39;t like it:<br></div><div><br></div><div>    goodmami@tpy:~/grammars/erg$ flop english.tdl <br>    reading `Version.lsp&#39;... <br>    converting `english.tdl&#39; (ERG (1214)) into `english.grm&#39; ...<br>    loading `english.tdl&#39;... including `fundamentals.tdl&#39;... fundamentals.tdl:21:3: error: (syntax) - got `                   [&#39;, expecting `.&#39; at end of type definition</div><div>    [...]</div><div><br></div><div>I get similar errors no matter where I put it (before :=, directly after :=, after ]). It&#39;s syntactically valid if I have ... *avm* &amp; &quot;doc&quot; &amp; ..., but then it has trouble unifying (as expected).</div><div><br></div><div>It does, however, seem to be happy having a comment there (both ; and #| styles) instead of a doc string.<br></div><div><br></div><div>I&#39;m using flop version 0.99.14svn_cm from the LOGON distribution.<br></div><div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 11, 2018 at 7:00 AM, Bernd Kiefer <span dir="ltr">&lt;<a href="mailto:Bernd.Kiefer@dfki.de" target="_blank">Bernd.Kiefer@dfki.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <tt>Concerning question 3, at least in TDL and PET there was no such
      restriction,<br>
      but that could make the definition of docstrings easier.<br>
      <br>
      Best,<br>
      <br>
      Bernd<br>
    </tt><div><div class="gmail-h5"><br>
    <div class="gmail-m_-5022940462080984935moz-cite-prefix">On 11.07.2018 03:01, Michael Wayne
      Goodman wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>I attempted to define a BNF-like description of TDL syntax
          on the wiki: <a href="http://moin.delph-in.net/TdlRfc" target="_blank">http://moin.delph-in.net/<wbr>TdlRfc</a></div>
        <div>I tried to follow the partial BNF in the LKB source and
          often referred to the lisp code itself in order to fill out
          the rest of the description.<br>
        </div>
        <div><br>
        </div>
        <div>My 3 questions above are concisely repeated at the bottom
          of the wiki along with some others.</div>
        <div><br>
        </div>
        <div>I welcome corrections and discussion (here or on the wiki)
          from any TDL nerds or authorities (especially if you&#39;ve
          written a TDL parser).<br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Mon, Jul 9, 2018 at 12:49 PM,
          Michael Wayne Goodman <span dir="ltr">&lt;<a href="mailto:goodmami@uw.edu" target="_blank">goodmami@uw.edu</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div dir="ltr">
              <div>Hi developers,</div>
              <div><br>
              </div>
              <div>I&#39;m taking a closer look at the syntax of TDL files
                and the situation is a bit of a mess. Can anyone help me
                clarify some things? (I&#39;ll restrict myself to 3
                questions for now)<br>
              </div>
              <div><br>
              </div>
              <div>The Copestake 2002 reference (Implementing TFS
                Grammars) has a BNF for TDL, but it&#39;s a bit out of date
                and, according to comments in the LKB source code,
                incorrect in parts. The LKB source comments are
                scattered, incomplete, inconsistent, and also a bit
                outdated. There is not much on the wiki. There is some
                discussion in the mailing list archives (much from
                before my time in DELPH-IN), but it&#39;s not clear how
                current those descriptions are.</div>
              <div><br>
              </div>
              <div>Q1: Are supertypes special in a definition?</div>
              <div><br>
              </div>
              <div>The BNF (in the LKB source) says this:</div>
              <div><br>
              </div>
              <div>    Type-def -&gt; Type { Avm-def | Subtype-def} . |
                <br>
                                         Type { Avm-def | Subtype-def}.<br>
              </div>
              <div>    Avm-def -&gt; := Conjunction | Comment
                Conjunction<br>
                    Conjunction -&gt; Term { &amp; Term } *<br>
                    Term -&gt; Type | Feature-term | Diff-list | List |
                Coreference<br>
              </div>
              <div><br>
              </div>
              <div>That makes it sound like I could do this:</div>
              <div><br>
              </div>
              <div>    mytype := [ FEAT val ] &amp; supertype.</div>
              <div><br>
              </div>
              <div>or even:</div>
              <div><br>
              </div>
              <div>    mytype := &lt;! diff list.. !&gt; &amp; #coref
                &amp; supertype.</div>
              <div><br>
              </div>
              <div>But elsewhere it seems like a list of parents is
                special and appears before the rest of the conjunction.
                E.g., at read-tdl-avm-def of lingo/lkb/src/io-tdl/tdltypein<wbr>put.lsp
                I see this alternate definition of Avm-def:<br>
              </div>
              <div><br>
              </div>
              <div>  ;;; Avm-def -&gt; := Parents Conjunction | Parents
                Comment Conjunction |<br>
                  ;;;               Parents | Parents Comment<br>
              </div>
              <div><br>
              </div>
              <div>It seems that both ACE and PET are fine with putting
                supertypes after the feature list (and some other
                variations). I&#39;m fine with this, but I wonder what it
                means for docstrings (see Q3 below), which (I think) are
                supposed to appear after the list of parents and before
                the feature list.<br>
              </div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div>Q2: Subtype-def is now just a variant of Avm-def,
                yes?</div>
              <div><br>
              </div>
              <div>The BNF still describes subtyping (with the :&lt;
                operator) as only taking a single parent:</div>
              <div><br>
              </div>
              <div>    Subtype-def -&gt;  :&lt; type</div>
              <div><br>
              </div>
              <div>But I believe the consensus is that this is
                unnecessary (it&#39;s equivalent to using := with only a
                supertype), so :&lt; is treated as equivalent to := (to
                avoid breaking backward compatibility). Is this
                interpretation used by all processors?</div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div>Q3: What&#39;s the final word with type comments /
                docstrings?</div>
              <div><br>
              </div>
              <div>I find evidence of 3 proposed variants: (1) a block
                of &quot;;&quot; comments before a typename (LTDB-style); (2) a
                block of &quot;;&quot; comments within a type description; and (3)
                a &quot;doc string&quot; within a type description. Furthermore,
                there is a question as to whether comments or strings
                within a type go after the &quot;:=&quot; or after the list of
                supertypes. I think #| ... |# comments were not
                considered for this purpose.</div>
              <div><br>
              </div>
              <div>My guess is this:</div>
              <div><br>
              </div>
              <div>* LTDB-style comments (before the type identifier)
                are processed separately from TDL-parsing</div>
              <div>* type-internal comments can go anywhere but are
                discarded</div>
              <div>* type-internal doc strings must appear after the
                list of supertypes and are later available for
                inspection (they are included as a non-functional part
                of a type)</div>
              <div><br>
              </div>
              <div>ACE seems happy with my assumptions, although PET
                doesn&#39;t seem to like doc strings at all.<br>
              </div>
              <div><br>
              </div>
              <div><br>
              </div>
              <div>Thanks!<span class="gmail-m_-5022940462080984935HOEnZb"><font color="#888888"><br>
                  </font></span></div>
              <span class="gmail-m_-5022940462080984935HOEnZb"><font color="#888888">
                  <div><br>
                  </div>
                  <div>-- <br>
                    <div class="gmail-m_-5022940462080984935m_-3591690003182791182gmail_signature">
                      <div dir="ltr">
                        <div>
                          <div dir="ltr">
                            <div>
                              <div dir="ltr">Michael Wayne Goodman</div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </font></span></div>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <br>
        -- <br>
        <div class="gmail-m_-5022940462080984935gmail_signature">
          <div dir="ltr">
            <div>
              <div dir="ltr">
                <div>
                  <div dir="ltr">Michael Wayne Goodman</div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    </div></div><span class="gmail-HOEnZb"><font color="#888888"><pre class="gmail-m_-5022940462080984935moz-signature" cols="72">-- 
------------------------------<wbr>------------------------------<wbr>----------
Bernd Kiefer     DFKI GmbH,  Stuhlsatzenhausweg,  D-66123 Saarbruecken
<a class="gmail-m_-5022940462080984935moz-txt-link-abbreviated" href="mailto:kiefer@dfki.de" target="_blank">kiefer@dfki.de</a>   +49-681/85775-5301 (phone)   +49-681/85775-5338 (fax)
------------------------------<wbr>------------------------------<wbr>----------
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
<a href="https://maps.google.com/?q=Trippstadter+Strasse+122,+D-67663+Kaiserslautern,+Germany&amp;entry=gmail&amp;source=g">Trippstadter Strasse 122, D-67663 Kaiserslautern, Germany</a>
Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster (Vor-
                    sitzender), Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
</pre>
  </font></span></div>

</blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Michael Wayne Goodman</div></div></div></div></div></div>
</div></div></div>