Inspiration
We wanted to break out of the tradition of having to make an application and want it to be more of a funny route. We wanted to break the thought that compilers are black boxes and it's easy to write your own code. Our team loves cats! (^・ω・^ )
What it does
MeowScript is a delightful and imaginative programming language designed for cats and cat enthusiasts. (=^・ェ・^=) It translates traditional JavaScript code into a more feline-friendly syntax. Some of the syntax includes:
Syntax
Cat Language | What It Does |
---|---|
meow | declare a mutable variable |
MEOW | declare an immutable variable |
hiss | print to console |
murmur | declare a function |
pet->function_name | calls a function |
!:3 | > |
:3 | < |
!:> | <= |
:> | >= |
^>=<^ | == |
^>!<^ | != |
^>&<^ | && |
^+^ | + |
^-^ | - |
^*^ | * |
^/^ | / |
^%^ | % |
NAP | single-line comment |
^o?o^ | if |
^-?-^ | else |
^-?-^ ^o?o^ | else if |
^o3o^ | for |
^o_o^ | while |
^.+.^ | += |
^.-.^ | -= |
^.*.^ | *= |
^./.^ | /= |
Tips:
- Loops and If statement logic has a similar syntax to that of Rust ヽ(=^・ω・^=)丿
- Variables are declared like this:
meow/MEOW variable_name variable_value
- Variables cannot be reassigned a value but can be mutated
How to run MeowScript
- Create a file with the
.meow
extension - Start coding in MeowScript
- Run your
.meow
file with MeowScript's CLI tool:meow [filename].meow
How we built it
We used JavaScript and NodeJS to read and transpile .meow
files into JavaScript code. To create the CLI tool, we used zsh scripts to signal NodeJS to execute the read and transpilation process
Challenges we ran into
When undertaking the task of creating your programming language, especially as a beginner with JavaScript, delving into the realm of language design requires a solid foundation in data structures. We ended up modeling the transpilation process after the Abstract Syntax Tree V(=^・ω・^=)v
Accomplishments that we're proud of
Being able to create our own programming language even if it started off as a joke at first. (^=˃ᆺ˂)
What we learned
What we learned during this project was that creating your own programming language is a complex and ambitious endeavor that involves a deep understanding of language design, especially data structures. While it may not be a common undertaking, it can be an immensely rewarding and educational experience because of the amount of knowledge we had to research. We also learned a lot when it came to understanding the common programming language. =( ^>w< ^)=
What's next for MeowScript
We would like for the terminal to always output a cat picture when the user wants an output. โ๏∀๏ใ
Log in or sign up for Devpost to join the conversation.