<div dir="ltr">Happy Earth Day, all,<div><br></div><div>I'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'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'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's patches.lisp, adapting to Jacy'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> "etc/matrix.smi"</div><div> :includep nil :finalizep nil :recordp nil)</div><div> :patches "etc/patches.lisp"</div><div> :finalizep t))</div><div> (mt::print-semi</div><div> semi :stream "etc/hierarchy.smi"</div><div> :format :hierarchy)</div><div> (mt::print-semi</div><div> semi :stream "etc/abstract.smi"</div><div> :format :compact :filter "^[^_]")</div><div> (mt::print-semi</div><div> semi :stream "etc/surface.smi"</div><div> :format :compact :filter "^_"))</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> "etc/hierarchy.smi"</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'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> "etc/matrix.smi"</div><div> :includep nil :finalizep nil :recordp nil)</div><div> :patches "etc/patches.lisp"</div><div> :finalizep t))</div><div> (with-open-file</div><div> (stream "etc/hierarchy.smi" :direction :output :if-exists :supersede)</div><div> (mt::print-semi semi :stream stream :format :hierarchy))</div><div> (with-open-file</div><div> (stream "etc/abstract.smi" :direction :output :if-exists :supersede)</div><div> (mt::print-semi semi :stream stream :format :compact :filter "^[^_]"))</div><div> (with-open-file</div><div> (stream "etc/surface.smi" :direction :output :if-exists :supersede)</div><div> (mt::print-semi semi :stream stream :format :compact :filter "^_"))</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'm out of ideas. The only file that has any content is hierarchy.smi, which only has the "predicates:" 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'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>