<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE250%3Alab-8%3Aasin185</id>
	<title>SE250:lab-8:asin185 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE250%3Alab-8%3Aasin185"/>
	<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE250:lab-8:asin185&amp;action=history"/>
	<updated>2026-04-28T23:52:25Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.kram.nz/index.php?title=SE250:lab-8:asin185&amp;diff=8084&amp;oldid=prev</id>
		<title>Mark: 15 revision(s)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE250:lab-8:asin185&amp;diff=8084&amp;oldid=prev"/>
		<updated>2008-11-03T05:20:26Z</updated>

		<summary type="html">&lt;p&gt;15 revision(s)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Lab 8 =&lt;br /&gt;
In this lab we explored parse tree, then going into &amp;#039;&amp;#039;deep structure&amp;#039;&amp;#039; and &amp;#039;&amp;#039;shallow structure&amp;#039;&amp;#039;......First things first....This code doesn&amp;#039;t compile, not to worry 5 min of the demonstrators help and were away. &lt;br /&gt;
 &lt;br /&gt;
== Task 1 ==&lt;br /&gt;
 ParseTree* t = mkNode( &amp;#039;-&amp;#039;, mkNode( &amp;#039;-&amp;#039;, mkNode( &amp;#039;a&amp;#039;, 0 ), mkNode( &amp;#039;b&amp;#039;, 0 ), 0 ), 0);&lt;br /&gt;
 prefix_tree(t);&lt;br /&gt;
&lt;br /&gt;
== Task 2 ==&lt;br /&gt;
&lt;br /&gt;
 ParseTree* t = mkNode( &amp;#039;?&amp;#039;, mkNode( &amp;#039;&amp;gt;&amp;#039;, mkNode( &amp;#039;+&amp;#039;, mkNode( &amp;#039;a&amp;#039;, 0 ), mkNode( &amp;#039;b&amp;#039;, 0 ), 0  ),mkNode ( &amp;#039;c&amp;#039;, 0)) ,&lt;br /&gt;
 mkNode(&amp;#039;*&amp;#039;, mkNode(&amp;#039;z&amp;#039;, 0), mkNode(&amp;#039;+&amp;#039;, mkNode( &amp;#039;a&amp;#039;, 0 ), mkNode( &amp;#039;b&amp;#039;, 0 ), 0), 0), mkNode( &amp;#039;?&amp;#039;,         mkNode( &amp;#039;=&amp;#039;,&lt;br /&gt;
 mkNode( &amp;#039;a&amp;#039;, 0 ), mkNode( &amp;#039;2&amp;#039;, 0 ), 0), 0), mkNode( &amp;#039;-&amp;#039;, mkNode( &amp;#039;x&amp;#039;, 0 ), mkNode( &amp;#039;y&amp;#039;, 0 ), 0),  mkNode( &amp;#039;-&amp;#039;, mkNode( &amp;#039;y&amp;#039;, 0 ),&lt;br /&gt;
 mkNode( &amp;#039;x&amp;#039;, 0 ), 0), 0);&lt;br /&gt;
 prefix_tree(t);&lt;br /&gt;
&lt;br /&gt;
 Output: &lt;br /&gt;
 ?(&amp;gt;(+(a b) c) *(z +(a b)) ?(=(a 2)) -(x y) -(y x))&lt;br /&gt;
&lt;br /&gt;
== Task 3 ==&lt;br /&gt;
The code for this was as follows:&lt;br /&gt;
&lt;br /&gt;
 int main(void){&lt;br /&gt;
 	ParseTree* t= mkNode(&amp;#039;-&amp;#039;, mkNode(&amp;#039;-&amp;#039;, mkNode(&amp;#039;a&amp;#039;,0),mkNode(&amp;#039;b&amp;#039;,0),0),0);&lt;br /&gt;
 	ParseTree* n= &lt;br /&gt;
 		mkNode(&amp;#039;?&amp;#039;,mkNode(&amp;#039;&amp;gt;&amp;#039;,mkNode(&amp;#039;+&amp;#039;,mkNode(&amp;#039;a&amp;#039;,0),mkNode(&amp;#039;b&amp;#039;,0),0),mkNode(&amp;#039;c&amp;#039;,0),0),&lt;br /&gt;
 		mkNode(&amp;#039;*&amp;#039;,mkNode(&amp;#039;z&amp;#039;,0),mkNode(&amp;#039;+&amp;#039;,mkNode(&amp;#039;y&amp;#039;,0),mkNode(&amp;#039;b&amp;#039;,0),0),&lt;br /&gt;
 		mkNode(&amp;#039;?&amp;#039;,mkNode(&amp;#039;=&amp;#039;,mkNode(&amp;#039;a&amp;#039;,0),mkNode(&amp;#039;2&amp;#039;,0),0),&lt;br /&gt;
 		mkNode(&amp;#039;-&amp;#039;,mkNode(&amp;#039;x&amp;#039;,0),mkNode(&amp;#039;y&amp;#039;,0),0),&lt;br /&gt;
 		mkNode(&amp;#039;-&amp;#039;,mkNode(&amp;#039;y&amp;#039;,0),mkNode(&amp;#039;x&amp;#039;,0),0),0),0),0);&lt;br /&gt;
 	prefix_tree(n);&lt;br /&gt;
 	tree_to_graph(n,&amp;quot;new_tree_to_graph.jpg&amp;quot;);&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
There was suppose to be a diagram but it too big too be put up, Here is the output anyway.&lt;br /&gt;
&lt;br /&gt;
 ?(&amp;gt;(+(a b) c) *(z +(y b)) ?(=(a 2) -(x y) -(y x)))&lt;br /&gt;
&lt;br /&gt;
== Task 4 ==&lt;br /&gt;
Graph should be up here, but can be seen on some computers and not on some. Not sure why.&lt;br /&gt;
&lt;br /&gt;
== Task 5 ==&lt;br /&gt;
The parse tree does not need to include the colon (:) is because of the structure on the Tree. This is only required by the compiler to separate variables, but trees the it is done implicitly.&lt;/div&gt;</summary>
		<author><name>Mark</name></author>
	</entry>
</feed>