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:

  1. Loops and If statement logic has a similar syntax to that of Rust ヽ(=^・ω・^=)丿
  2. Variables are declared like this: meow/MEOW variable_name variable_value
  3. Variables cannot be reassigned a value but can be mutated

How to run MeowScript

  1. Create a file with the .meow extension
  2. Start coding in MeowScript
  3. 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. โ๏∀๏ใ

Built With

Share this project:

Updates