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

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.
Example:
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 lexer.py

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

Next: https://repl.it/talk/learn/How-To-Make-A-Language-Parsing/39832

You are viewing a single comment. View All
LoganSpong (54)

There. I changed the name of my post to: A collection of powerful functions. Like it now? I can also change it to: Some functions I made called Inspyre.

NoelB33 (346)

Your post was a really good post, and you don’t have to change it’s name just because some person doesn’t like it. @LoganSpong

LoganSpong (54)

@NoelBryan Meh, I don't care about cycles anyways. It's not like I'm goona get banned from Repl.it. I guess he is right.
But, @CSharpIsGud, can we stop fighting?
I get it. It was not a coding language. Yours may be better! But Repl.it is a website for innovation, not hating. Let's stop this.

JordanDixon1 (175)

@LoganSpong If you are still interested, we can upload your project to pypi. I haven't been on for awhile due to power outage, but I'm back sooooo...

LoganSpong (54)

@JordanDixon1 Yeah! I just wrote up README.md

JordanDixon1 (175)

@LoganSpong okay, I may or may not be able to help you so instead, I will give you the info on how to do it using my tutorial also you can fork the project and make sure that you use the version control option on the left when done to make a github git. On top of this replace the information in setup.py with the info you want.