Pages

2014-09-21

Goruby revisited

Almost a month ago, I wrote about the idea of GoRuby. So, what's the progress now?

What I have:

- I found the BNF of Ruby 2.1.0 at http://docs.ruby-lang.org/ja/2.1.0/doc/spec=2fbnf.html
- I found a Golang Compiler Compiler at https://code.google.com/p/gocc/
- I transformed the BNF into the format gocc expects
- I tried the parser and it terribly failed

So, what's the problem?

As I found out, after having a failing parser, the grammar ruby uses is a LALR one, whereas gocc only generates a LR(1).

- At that point I have to admit that I've never studied Computer Science and had never the 'fun' of writing any compiler, so at the point of creating the idea of GoRuby I had no idea of all those different types of parsers and so on -

So, what now?

Well, as I want to have a working prototype of the AST for getting started there are several options. I could write my own LALR parser to get the missing Go code. Sounds hard, especially if you have only rudimentary knowledge of these things. Or I could search for another compiler compiler that outputs Go code. Sounds less hard, but has the implication that the input format, which is now a pure EBNF, could have to be transformed into another format.

We'll see what the right answer will be.

For any updates visit this blog and look for changes at https://www.github.com/goruby/goruby

2014-08-29

Writing yet another Ruby implementation in Go

Well, let's face the truth: writing a complete implementation of Ruby is very hard, independent of the language used for it. And then: why another implementation which differs only in the language used to write it into?

I love Ruby, and I love Go. But you can't use both at the same time, especially not without tradeoffs or "workarounds".

But why writing the whole language anew in Go? To tell the truth, I am doing this just for fun. And also because Brian Shirai created a remarkable tool to assist with just that, RubySpec.
So, maybe it's only a proof of concept if it is possible to create another implementation guided by the specs.

If you're interested in the project and its progress, check out the sources at github. I will also report about my progress here. So stay tuned.

2011-02-10

Übersicht über die Beliebtheit der Programmiersprachen

TIOBE Software haben in ihrem "TIOBE Programming Community Index for February 2011" mal eine Übersicht über die Beliebtheit der einzelnen Programmiersprachen gegeben. Interessant finde ich, das Java an Platz eins steht. Möglicherweise aber auch dank Android.

Auf der Website gibt es übrigens auch diese schöne Grafik über die Langzeitbeobachtung der Beliebtheit der Sprachen:
(Quelle: TIOBE Software)

2011-02-09

Git leicht gemacht

Travis Swicegood hat auf der ZendCon eine Session zum Thema "Pragmatic Guide to Git" gehalten. Dieser ist als Podcast erhältlich.

Auf der Website des ZendFrameworks finden sich weitere Podcasts zu diversen Themen rund um das Framework.

2010-02-11

Schlagzeuger gesucht (Hamburg)

Die Rote Kapelle Hamburg sucht einen neuen Schlagzeuger. Klingt jetzt nicht ganz so aufregend, allerdings sind wir schon über ein Jahr auf der Suche.
Mal ist ihnen unsere Musik zu hart, mal ist sie viel zu weich - wie auch immer man das sieht, irgendwie war bis jetzt nicht der Richtige dabei.

Deshalb hier nun der Aufruf:

Schlagzeuger aus Hamburg, meldet euch!

Wir proben jeden Donnerstag im Schanzenbunker nahe der S-Bahn. Wir würden uns freuen wenn ihr euch bei uns meldet, entweder über die Myspace-Seite oder einfach Nachricht im Profil hinterlassen.

Wir zählen auf euch, streichelt unsere Ohren endlich wieder mit schönen Rhythmen des Schlagzeugs :D