In a previous series of posts, I demonstrated how to create a small, dynamically typed programming language. In this blog we'll be creating a (slightly) more complicated language. Just as the previous language, we'll be using ANTLR to create a parser for our language and a sort of iterator (tree walker) that will walk the AST and evaluate the input.
The previous language was called TL (Tiny Language), which was a rather dull name. The language we'll be creating in the upcoming blog posts will be called Wally, after the (in)famous character from Scott Adams' (IMHO) hilarious Dilbert comic strip.
Wally will have Pythonesque grouping of statements into code blocks by white space indenting. There will be no semi-colons that indicate the end of a statement, some form of operator overloading will be supported and it will also support user defined objects and the possibility to import other (Wally) objects or functions from other files, to name the most radical changes compared to TL.
Note that in this blog series, I will not go too deeply into ANTLR: for a more gentle introduction to ANTLR, please see my previous blog posts.
Go ahead and continue reading part 2 where I'll give a birds-eye view of Wally's syntax.