<div dir="ltr">Happy Earth Day, all,<div><br></div><div>I&#39;m attempting to generate a new SEM-I for Jacy by following the example set by the ERG 1214 release. My Lisp skills and LKB knowledge are lacking, so I&#39;m having trouble recovering from errors.</div><div><br></div><div>First I created an etc/ directory and moved jacy.smi and matrix.smi there (these files can currently be found at Jacy&#39;s top-level directory: <a href="https://github.com/delph-in/jacy">https://github.com/delph-in/jacy</a>). Then I create an etc/patches.lisp file to hold potential modifications for the SEM-I, although it currently holds placeholder comments like this:</div><div><br></div><div>    (</div><div>    ; (:block x )</div><div>    ; (:alias x y )</div><div>    ; (:link x y )</div><div>    ; (:parent x y )<br clear="all"><div>    )</div><div><br></div><div>I then follow the lisp code at the bottom of the ERG&#39;s patches.lisp, adapting to Jacy&#39;s setup. First I try this from the emacs lisp buffer (with the LKB and Jacy loaded):</div><div><br></div><div><div> (progn</div><div>  (setf semi</div><div>    (mt::construct-semi       </div><div>     :ids t :rules t :descendp t :embedp t</div><div>     :semi (mt::read-semi</div><div>            &quot;etc/matrix.smi&quot;</div><div>            :includep nil :finalizep nil :recordp nil)</div><div>     :patches &quot;etc/patches.lisp&quot;</div><div>     :finalizep t))</div><div>  (mt::print-semi</div><div>   semi :stream &quot;etc/hierarchy.smi&quot;</div><div>   :format :hierarchy)</div><div>  (mt::print-semi</div><div>   semi :stream &quot;etc/abstract.smi&quot;</div><div>   :format :compact :filter &quot;^[^_]&quot;)</div><div>  (mt::print-semi</div><div>   semi :stream &quot;etc/surface.smi&quot;</div><div>   :format :compact :filter &quot;^_&quot;))</div></div><div><br></div><div>But I get an error like this:</div><div><br></div><div><div>Error: First arg to format not t, nil, a stream, or a string with fill pointer:</div><div>       &quot;etc/hierarchy.smi&quot;</div><div>  [condition type: SIMPLE-ERROR]</div></div><div><br></div><div>So after a few failed attempts to figure out why mt::print-semi won&#39;t work with a string filename argument, I try to open the file outside the function call:</div><div><br></div><div><div>(progn</div><div>  (setf semi</div><div>    (mt::construct-semi       </div><div>     :ids t :rules t :descendp t :embedp t</div><div>     :semi (mt::read-semi</div><div>            &quot;etc/matrix.smi&quot;</div><div>            :includep nil :finalizep nil :recordp nil)</div><div>     :patches &quot;etc/patches.lisp&quot;</div><div>     :finalizep t))</div><div>  (with-open-file</div><div>      (stream &quot;etc/hierarchy.smi&quot; :direction :output :if-exists :supersede)</div><div>    (mt::print-semi semi :stream stream :format :hierarchy))</div><div>  (with-open-file</div><div>      (stream &quot;etc/abstract.smi&quot; :direction :output :if-exists :supersede)</div><div>    (mt::print-semi semi :stream stream :format :compact :filter &quot;^[^_]&quot;))</div><div>  (with-open-file</div><div>      (stream &quot;etc/surface.smi&quot; :direction :output :if-exists :supersede)</div><div>    (mt::print-semi semi :stream stream :format :compact :filter &quot;^_&quot;))</div><div>)</div></div><div><br></div><div>And I get this error:</div><div><br></div><div><div>Error: attempt to take the length of a non-sequence: LKB::COMPOUND_REL</div><div>  [condition type: TYPE-ERROR]</div></div><div><br></div><div>And now I&#39;m out of ideas. The only file that has any content is hierarchy.smi, which only has the &quot;predicates:&quot; header and nothing under it.</div><div><br></div><div>Has anybody successfully created a new-style SEM-I? Can anyone tell me what I&#39;m doing wrong?</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Michael Wayne Goodman<div>Ph.D. Candidate, UW Linguistics</div></div></div>
</div></div>