All,<div><br></div><div>I am working through PLAI for self-study. I&#39;ve gotten to section 1.3, page 8. There is an example of parsing code and some example output. Unfortunately, clearly num, add, and sub need to be defined for the example code to run.</div>

<div><font class="Apple-style-span" face="&#39;courier new&#39;, monospace"><br></font></div><div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">;; parse : sexp −→ AE ;; to convert s-expressions into AEs</font></p>


<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(define (parse sexp)</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica">

<font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(cond</font></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">[(number? sexp) (</font><span style="font: 11.0px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">num </font></span><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">sexp)] </font></p>

<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">[(list? sexp)</font></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(case (first sexp) </font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica">

<font class="Apple-style-span" face="&#39;courier new&#39;, monospace">[(+) (</font><span style="font: 11.0px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">add </font></span><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(parse (second sexp))</font></p>


<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(parse (third sexp)))] </font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica">

<font class="Apple-style-span" face="&#39;courier new&#39;, monospace">[(-) (</font><span style="font: 11.0px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">sub </font></span><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(parse (second sexp))</font></p>


<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.9px Helvetica"><font class="Apple-style-span" face="&#39;courier new&#39;, monospace">(parse (third sexp)))])]))</font></p></div><div><br></div><div>Since it isn&#39;t mentioned in the book at all that num, add, and sub need to be defined in order to run the example code, I am getting the impression that this book was not intended for self-study. (Explaining that num, add, and sub need to be defined and giving some hints as to how is something that an instructor would likely cover.) Any thoughts on that before I get further into the book?</div>

<div><br></div><div>Also, are there any pointers that someone on the list can provide for this? Either conceptual guidance or pointers to somewhere on the web where I can do some prerequisite reading in order to get this parsing code working?</div>

<div><br></div><div>I don&#39;t want to proceed until I have this example code running.</div><div><br></div><div>Cheers and TIA, </div><div><br></div><div>--<br>Kevin<br>
</div>