Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
bauripalash authored Jul 10, 2020
1 parent 3bbfdb1 commit 4ce88ed
Showing 1 changed file with 41 additions and 36 deletions.
77 changes: 41 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,77 +1,82 @@
# /ᐠ。ꞈ。ᐟ\ MewMew Programming Language
### Program in Cats' Language

MewMew is an Esoteric `Just for Fun` programming language. You can use MewMew to program in cats' language.
MewMew 🐱 is an Esoteric `Just for Fun` programming language. You can use MewMew to program in cats' language.

## Get Started
#### Integers
## 🎉 Get Started
#### 😸 Integers
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. (You got the Idea right)

#### Operators
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)

#### Identifiers
#### 😸 Operators
**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)

#### 😸 Identifiers
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.

#### Assignment
#### 😸 Assignment
`ID = Expression`

IDs will follow the rules of identifiers (above mentioned)

#### Print aka. *Meow Say*
#### 😸 Print aka. *Meow Say*
There's no keyword , to print we use the `::` symbol, for example
`::mewmew + mewmew` outputs `4`

#### If
If statement of mewmew is very similar to ternary expression of C/C++.
#### 😸 If
`CONDITION ? TRUTH_BODY ;`

#### If Else
If statement of mewmew is very similar to ternary expression of C/C++.


#### 😸 If Else
`CONDITION ? TRUTH_BODY : ELSE_BODY ;`

#### Repeat Loop aka. *Meow Loop*
#### 😸 Repeat Loop aka. *Meow Loop*
`@TIMES : BODY ;`

Where `TIMES` can be any mew number , and the `BODY` will be executed `TIMES` times.

#### Scratch Functions
#### 😸 Scratch Functions
`#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

#### Comments
'//'
#### 😸 Comments
`//`

To write a comment , start the sentence with `//`

## NOTEs:
## 📑 NOTEs:
* 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.

## Building Yourself
#### Required
## 🔨 Building Yourself
#### 🔩 Required
- ANTLR4 JAR
- ANTLR4 (C++) RUNTIME
- GCC/G++
- CMake

#### How to Build
#### 🔧 How to Build
- Download & Setup ANTLR4 JAR (JAVA Runtime is Required to run ANTLR4)
- Download ANTLR4 C++ Runtime , compile and setup
- Fork , Clone this Repository
Expand Down

0 comments on commit 4ce88ed

Please sign in to comment.