<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bikes and Code &#187; compiler</title>
	<atom:link href="http://warrentaylor.ca/tag/compiler/feed/" rel="self" type="application/rss+xml" />
	<link>http://warrentaylor.ca</link>
	<description>Thinking, actions and related topics</description>
	<lastBuildDate>Wed, 25 Apr 2012 18:20:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Resolutions &#8211; 2009</title>
		<link>http://warrentaylor.ca/2009/01/21/resolutions-2009/</link>
		<comments>http://warrentaylor.ca/2009/01/21/resolutions-2009/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 17:53:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[project]]></category>

		<guid isPermaLink="false">http://warrentaylor.ca/?p=210</guid>
		<description><![CDATA[I read quite a bit. I read fiction, fantasy and sci-fi mostly, but I am not opposed to a good mind numbing blockbuster either. I read non-fiction, recently the works of Pierre Berton have caught my interest, though I tend to read a fair bit of political philosophy books as well. I read computer books, [...]]]></description>
			<content:encoded><![CDATA[<p>I read quite a bit. I read fiction, fantasy and sci-fi mostly, but I am not opposed to a good mind numbing blockbuster either. I read non-fiction, recently the works of <a href="http://en.wikipedia.org/wiki/Pierre_Berton" target="_blank">Pierre Berton</a> have caught my interest, though I tend to read a fair bit of political philosophy books as well. I read computer books, my desk and surrounding area is littered things I have read and occasionally need to reference or just read a chapter of to refresh my memory. Finally, like most regular Internet users, I read blogs.</p>
<p>It was directly due to the words of a <a href="http://codinghorror.com" target="_blank">couple</a> <a href="http://joelonsoftware.com" target="_blank">of</a> <a href="http://steve-yegge.blogspot.com/" target="_blank">well</a> <a href="http://www.loudthinking.com/" target="_blank">respected</a> bloggers that I started this one. There are multiple reasons. By writing, you exercise the communication part of the brain, which is always good. By putting up a public blog, it becomes easier to control your own Internet presence. As long as your writing is even passable, it is good marketing for yourself. These were just a few of the points that were made. I bought into it and am now going on a couple of months of roughly weekly posts. I believe I can keep this up rather easily.</p>
<p>So, one mission accomplished.</p>
<p>On more than one occasion, one of these people who are well respected in the software development field will mention something about a compiler. Specifically, that every serious programmer should write one at some point in time. This makes sense as a compiler tends to be one of those bits of software that does a good job of covering pretty much everything that a programmer needs to do somewhat regularly. Lots of string manipulation, lots of recursion, lots of knowledge about how a computer actually works, memory management, the list goes on.</p>
<p>I have not yet written a compiler. It is something that I have wanted to do more than once, but never actually sat down and started working on it. I&#8217;ve seen enough mentions in passing recently that I feel it is time for me to complete this particular rite of passage and actually write a compiler. I am capable of it, but I needed the push down the right path to do it.</p>
<p>So it is not going to be a huge project and I&#8217;m not going to sink huge amounts of time into it, but I do have goals for it that should be completed by the end of 2009. I need to define my own language, it should have ifs and whiles, it should evaluate mathmatical expressions correctly. I think I will compile to JVM compatible byte code, though I have not decided on that yet either. That would theoretically allow me to use Java libraries as well, which is appealing. It&#8217;s not going to be object oriented, mainly as this is a learning experience and I don&#8217;t want to bite off more than I can chew so to speak.</p>
<p>I&#8217;m leaning towards Ruby for the project, but am stronger with Java which will make some things significantly easier. I will likely make the final decision once I&#8217;ve read some of the Dragon book and know more about what I am getting into. My intention is to write it all at this point. I don&#8217;t think I will use a parser generator or anything like that, simply as the point of this is to learn how to write a parser/lexer/etc.</p>
<p>So that&#8217;s the plan for 2009, dedicate a couple of hours a week to this project and hopefully be able to run some of my own code in my own language by the end of the year. Who knows if that&#8217;s reasonable, but it should be&#8230; illuminating.</p>
]]></content:encoded>
			<wfw:commentRss>http://warrentaylor.ca/2009/01/21/resolutions-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

