How To Make A True Coding Language: Part 1
CSharpIsGud (962)

Im making this tutorial series because almost every language i've seen posted to repl talk doesn't use parsing algorithms and I think it would be nice to see some that do. There are a couple flavors of these languages, typically they come in 2 forms
1) They use string splitting and regular expressions

Technically you can call this "parsing" or a language of some sort.
But you will very quickly discover you run into syntax limitations like having to have a separator for a lot of things.
set:var,Hello World;print:var

2) They do nothing at all but define some classes or variables

I don't know how people get away with this and then tell you to calm down when someone calmly separates what it is from what it isn't. Even when put in the best possible words as to not directly attack the repl itself.

Which is why I have decided to create a tutorial on making a programming language in hopes people start making ones that don't have the above flaws.

This tutorial is going to go bottom to top using no dependencies at all and will show creation of a lexer all the way up to the hand made recursive-descent parser!

The Lexer (or scanner, tokenizer, whatever you wish to call it)

Located in

The other components will get their own files as they are created.


You are viewing a single comment. View All
Whippingdot (621)

You know you are basically de-motivating everyone who tries to make a coding languages. If someone didn't read this para, they could have created an awesome language and could've gotten famous. @Spiered. Some people actually make good coding languages, and people actually use them. Example DynamicSquid's languages are very good.

Also, @JaydenLiu1 if you say, you made a programming language, it means you made a programming language. If you didn't put any work into it, they call it fake cause you didn't really make it that well. A fake programming language is just a programming language someone made which has no work put into it. Yours's is called fake cause it has no work put into it. A real programming language is one that has work put into it. A programming language is real by default. If you said I made a programming language, it means you made a real one. You cannot say you never said that you made a "real" programming language as when you said you made a programming language, it became "real" by default.

I don't know if this made sense, I hope it did.