Sunday, February 04, 2007

It Is A Good Day to Code

We're making decent progress.

I'm working on making the scanner more robust. Ian made a lotta grammars for the parser. The parser's a block box to me right now. I have two more DFAs to finish. Afterwards I'm going to ship it to Dimitri and he can include this into his project. After that I'm going to finish the last two DFAs, then do unit tests, then do error handling.

Poor modelling had cost me over a day. My abstract model for the scanner was a bit poor and Ian helped me out.

(Was a draft post but I am now releasing it ... 2 years later)

Saturday, February 03, 2007

Vent Re: Lisp Suckage; Screw packages

Common Lisp is terrible. Terrible programming language. I don't care if its functional and dynamically typed, its libraries suck and its symbol/package system is a huge pain in the ass to work with.

I understand that its typically used from a lisp top level environment, but no one in the real world uses programs like that. No real programs require you to modify your runtime's initialization configs/scripts. No real programs require you to run them from within a toplevel or require the source/object files to be loaded in the correct order by you (or some script).

Maybe I'm wrong, maybe real world programs do require all that. Maybe thats what deployment means in web applications *shudder*.

Dependencies in Lisp seem to be a nightmare. Building a self contained executable seems impossible, and building an executable that works with multiple modules and packages seems not to work at all. The best I can come up with is not using packages at all. Essentially all our sources will be concatenated together into one big source file. Awful. Just awful.

I'm going to leave it at that for now. There isn't any more time available to spend on figuring out how to do this right. Next step, command line arguments.

Friday, February 02, 2007

A Compiler by any Other Name

So ... this is what brainstorming gives us.

The language that we're compiling is ADA/CS. I've decided to call is DAD. It's ADA spelt backwards!!! (ahem)

Anyways, if you take the first letter of our names: Dimitri, Ian and Robert, you get. DIR.

So, naturally we came to Dirty as our name. You put it all together and you have the "Dirty Dad Compiler" or DDC for short.

Saturday, January 27, 2007

I'm Getting Testy

Alright, here's an update.

CS 444 has took an odd turn. The Ada/CS grammar has not yet been defined. The class decides what is in the grammar and what isn't. I'm under the impression that this is going to be clarified by the test cases that we were supposed to submit.

The original assignment 1 deadline which was schedule for Jan 30th has been changed. Jan 30th is now a deadline to submit test cases. February 6th is now the new date to submit our scanner/parser.

Our current roles are as follows: Robert | Scanner, Ian | Bootstrapper, Dimitri | Parser.

My role seems pretty clear. I'm going to write a few functions that the parser will call to get tokens. I'm going to change it such that I pass the line the token is in, and the type of token it is. Unfortunately, Ian and I have been sidetracked. We've been doing Ada tutorials. I'm on Object-Oriented Programming ... Chapter 7 out of 18.

After that, I plan to come up with about 10 test cases. Although, I'm pretty sure I can think of a hell of a lot more. But my goal is 10 test cases by Sunday noon.

Feelings:

Programming languages is becoming a bigger nuisance than I had hoped. It's not a birdie course and Lushman is pushing this course pretty hard.

Programming skill. I'm worried. I won't lie. In my mind, to program a medium-sized project adequately requires a certain grasp of a language. I don't know how to define it but I can certainly say that we're not there. Ian is the closest, me second, and then Dimitri. The problems that this causes is a waste of time on fundamental concepts. Granted, people can say I can 'look-up' what I need. But that statement is based on one big assumption, that is, I-know-what-I-don't-know. And I don't. I'm clueless. On top of learning Lisp, and Ada we have programming languages handing our asses to us.

I'm far from giving up though. I'm Chapter 8 in Lisp and Chapter 7 in Ada.

Tuesday, January 16, 2007

Do you feel me?

Here's a status update.

I've "started" (and I use that term loosely) the scanner, I've created a transducer that reads in a file and compares it to a literal DFA that I created and turned into a table. It's not fully working yet. The table can read DFAs, but I just haven't cleaned up after I decided to output all my input into another file. I'm not sure how we would want to separate keywords from literals when translating. Unless we decide to put everything in memory which is a tad silly. I don't know fellas.

We may have bitten off more than we can chew. I'm concerned that I have little debugging knowledge. I found some information about how to go about build a unit testing framework. I'll put the zip file up here.

Anyways, I'm going to try and get programming languages done as soon as humanly possible and cryptography so that I may put full effort into this.

Peace.

Friday, January 12, 2007

DevjaVu Permissions Updated

I updated permissions on DevjaVu such that only the three of us can edit the wiki, edit the trac stuff, and only the three of us can access the svn repository. When svn asks for your username and password use your DevjaVu credentials.

I'm looking into whether there are SVN environment variables that can be set so we don't have to keep putting in our login and password to do SVN commands.

Tuesday, January 02, 2007

Go Time

Well, I'm all settled in at Village 1 now. Compilers on Thursday. I did not finish the Lisp book. Bah. Lets not even talk about the compilers text.