% -*- mode: Noweb; noweb-code-mode: icon-mode -*- \section{Finding definitions in Common lisp} <<*>>= procedure main(args) go() end <<*>>= global idchars procedure postpass(name, arg) static kind, delims initial { delims := '\' \t\n`();"' kind := "bogus" } case name of { "begin" : arg ? kind := tab(upto(' ')|0) "text" : if kind == "code" then arg ? if (="(defpackage", tab(upto('"')), move(1)) then writedefn(tab(upto('"'))) else if (="(def", tab(upto(' ')), move(1)) then writedefn(tab(upto(delims))) } return end procedure prepass(name, arg) if name == "end" then writedefn(&null) # force newline end <<*>>= procedure rcsinfo () return "$Id: mmixdefs.nw,v 1.8 2002/07/17 22:47:35 nr Exp nr $" || "$Name: v2_10c $" end @