MewMew is dead. Checkout Mewl, program in cats' language
Give a Star 🌟 to this project to support this project
/ᐠ。ꞈ。ᐟ\ MewMew 🐱 is an Esoteric Just for Fun
programming language. You can program in cats' language with MewMew. Have Fun!
There's no concept of numbers (eg. 1 2 3 4 100) in MewMew, instead we use mew
s. 1 mew
is equal to 1 , therefor mewmew
= 2 , mewmewmew
= 3 , mewmewmewmewmewmewmewmewmewmew
= 10 and mew-mew
= 0. (You got the Idea, right)
MewMew supports a few types of operators =>
+
-> Addition
-
-> Subtraction*
-> Multiplication/
-> Division**
-> Power~
-> Absolute Value-
-> Unary Minus>
-> Greater than>=
-> Greater than equal to<
-> Less than<=
-> Less than equal to==
-> Is Equal to!=
-> Not Equal to&
-> And|
-> Or%
-> Modulus (Remainder)
MewMew identifiers must start with an m
and can contain zero or more consecutive _
and w
. e
cannot be used , because the interpreter can confuse it with a mew number.
ID = Expression
IDs will follow the rules of identifiers (above mentioned)
There's no keyword , to print we use the ::
symbol, for example
::mewmew + mewmew
outputs 4
Same as print , there's no keyword. It prints the ASCII char from the mew number given
::$ ####(mew) * mewmewmewmewmewmewmew + mewmew
, Output = H
CONDITION ? TRUTH_BODY ;
If statement of mewmew is very similar to ternary expression of C/C++.
CONDITION ? TRUTH_BODY : ELSE_BODY ;
@TIMES : BODY ;
Where TIMES
can be any mew number , and the BODY
will be executed TIMES
times.
#MEWNUMBER
(The '#' can be 1 to 5 consecutive times )
- 1
#
calculates square root of the expression - 2
#
returns 2 times the given expression - 3
#
returns 5 times the given expression - 4
#
returns 10 times the given expression - 5
#
returns 100 times the given expression
ID << ;
Where ID is an variable identifier. The user will be prompted for a formal or mewmew number.
//
To write a comment , start the sentence with //
(Two Examples are provided in the repo)
//Addition
m = mewmew + mewmewmew;
::m;
OUTPUT: 5
// Print All Numbers Divisible by 2 under 100
m = mew;
@#####(mew):
m % mewmew == mew - mew ? ::m;;
m = m+mew;
;
[TODO] □ Build the whole thing again □ Ditch C++, use plain C
- MewMew is an esoteric language , it was never intended to be used for mainstream programming.
- MewMew is only tested on Linux device (Ubuntu 18.04 x86_64). Building on Windows or MacOS should not be difficult , Please let me know , if you build it on either Windows or MacOs.
- ANTLR4 JAR
- ANTLR4 (C++) RUNTIME
- GCC/G++
- CMake
- Download & Setup ANTLR4 JAR (JAVA Runtime is Required to run ANTLR4)
- Download ANTLR4 C++ Runtime , compile and setup
- Fork , Clone this Repository
mkdir build && cd build
cmake ..
- If Things are good. You'll have a executable binary file called mewmew