/ᐠ。ꞈ。ᐟ\ MewMew Programming Language - Program in Cats' Language
Give a Star 🌟 to this project to support this project
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 )
#
calculates square root of the expression#
returns 2 times the given expression#
returns 5 times the given expression#
returns 10 times the given expression#
returns 100 times the given expressionID << ;
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
mkdir build && cd build
cmake ..