ParseLang: The language that expresses itself
The language that expresses itself
(Use the PDF readme for a table of contents and better layout)
Take for example the simple
System.out.println("Hello world!");. Some developer like to type it that way, while some people prefer
print("Hello, World!") or even
Dear compiler, would you be so kind as to print the string "Hello, world!" for me in the console?. In pretty much all cases, the programming language that you use decides which of these you have to use to get that famous greeting printed in your console.
Not with ParseLang.
Some languages are more flexible than others: some allow different ways to express the same semantics, some have weak typing and some don't even care whether you use semicolons. ParseLang is so flexible, it allows all of this and much more. In fact, it allows you to change the grammar of the language itself while it is parsing. In it, you program by extending the language with new parse rules and also using the language to describe the semantics of that new rule. This way, it allows any semantics to be coupled with any textual expression.
While it allows you to extend the language to a beautiful, simple whole, it also allows you to go completely overboard. Take the following two examples of beauty and madness that demonstrate what ParseLang supports after extending the language yourself:
(Want to try this? Try calling
runDemo("examples/forloop.plang"); from Main.java, then clicking Run.)
(Yes, we are literally redefining the literal
9 as having the semantics of the number 8. Try changing it to a two-digit number for funzies! Try calling
runDemo("examples/madness.plang"); from Main.java, then clicking Run.)
Don't be scared of the complexity of this example: you can make the language precisely as complex as you want because you are the one extending the language (beyond its very basic set of instructions). As you can see, you can go completely overboard with how you want to specify your semantics, and ParseLang will run it.
@Charrey I understand how difficult it was for you to write this study. Every day a person overcomes himself in something (you can find out about this here - https://samploon.com/free-essays/overcoming-obstacles/) and develops due to this. Of course, in the 21st century, it is foolish to stand still and not go forward.
@TheDrone7 I suppose you can't just judge it as a two-person project in which the second person was idle? I saw people looking for teammates for exactly that strategy. Furthermore, shouldn't it be considered a feat to deliver the same result with half the manpower?
I see now that this is one of the rules, but I was genuinely unaware of this during the jam.
@Charrey As for you first statement, I have not come across even one such submission thus far. And just imagine how better it could've been if you had twice the manpower. Many people can write a programming language by themselves in 1 month of time, but that's not what we were looking for.
I'm afraid, I'm going to have to disqualify you for not meeting the requirements.