Language maker?

Started by
3 comments, last by GnomeTank 17 years ago
Is there actually a free language maker that allows you to make your language. Im not plannin on making a huge language, i just think it would be kind of cool. So if anyone knows a url or name, please tell me. Mean while i'll be searching google...
Advertisement
There are tools like flex and bison which can help you with the difficult and arduous task of implementing a programming language, yes. If you want to do it because you think it would be "kind of cool" you are setting yourself up for failure.
You should check out Yacc (Yet Another Compiler Compiler) and Lex (Lexical analysis generator). Don't let these guys tell you that you can't do something, but know that what you want to do is difficult.
Will Miller | Game Designer | Big Huge Games
I find ocamlc, ocamllex and menhir to be excellent tools when creating languages. One could create an interpreter for a simple (but still usable) language in under three hours with them.
I have recently become a big fan of ANTLR, another tool to help you write lexers and parsers. You can find ANTLR at http://www.antlr.org/.

Bison/Flex (Yacc/Lex) will do fine as well. I like ANTLR because it can generate C# code (which was a requirement for me), and it uses a unified syntax for lexers and parsers. It also allows you to do some really cool stuff with generating a tree parser to create your AST (abstract source tree, basically the programmatic representation of your parsed script or program).

It's main drawback (if you can call it that), is that it's written in Java and requires you to install a JVM to run, but that's not a huge issue to me.

In any case, don't be discouraged. I was told not to write the first language I wrote, and I did it anyway. It was a fun learning experience, and while I never released it (and never will), I learned a whole lot and it made my overall understanding of programming much better. If it's something you really want to do, go for it, but do understand that writing a language is not an easy thing to do. It requires quite a bit of work, but it's very rewarding in the end. Don't go in with the mindset that you are going to create the next Python. Instead start with a simple language, and move up.

This topic is closed to new replies.

Advertisement