All Projects → VPanjeta → Modiscript

VPanjeta / Modiscript

Licence: mit
Acche din aa gaye

Programming Languages

python
139335 projects - #7 most used programming language
language
365 projects

Projects that are alternatives of or similar to Modiscript

asty
Abstract Syntax Tree (AST) Data Structure
Stars: ✭ 28 (-96.85%)
Mutual labels:  syntax, tree, ast
Astq
Abstract Syntax Tree (AST) Query Engine
Stars: ✭ 89 (-89.98%)
Mutual labels:  ast, tree, syntax
React Ast
render abstract syntax trees with react
Stars: ✭ 160 (-81.98%)
Mutual labels:  ast, tree, syntax
coAST
Universal and language-independent abstract syntax tree
Stars: ✭ 30 (-96.62%)
Mutual labels:  syntax, ast
BBob
⚡️Blazing-fast js-bbcode-parser, bbcode js, that transforms and parses to AST with plugin support in pure javascript, no dependencies
Stars: ✭ 133 (-85.02%)
Mutual labels:  tree, ast
language-rust
Parser and pretty-printer for the Rust language
Stars: ✭ 78 (-91.22%)
Mutual labels:  syntax, ast
Snapdragon
snapdragon is an extremely pluggable, powerful and easy-to-use parser-renderer factory.
Stars: ✭ 180 (-79.73%)
Mutual labels:  compiler, ast
Exprtk
C++ Mathematical Expression Parsing And Evaluation Library
Stars: ✭ 301 (-66.1%)
Mutual labels:  compiler, ast
gogrep
Syntax-aware Go code search, based on the mvdan/gogrep
Stars: ✭ 25 (-97.18%)
Mutual labels:  syntax, ast
Kgt
BNF wrangling and railroad diagrams
Stars: ✭ 312 (-64.86%)
Mutual labels:  compiler, syntax
Nuitka
Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, and 3.9. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.
Stars: ✭ 6,173 (+595.16%)
Mutual labels:  compiler, programming
Christmas Tree
ASCII christmas-tree with animations for 256 colored terminals
Stars: ✭ 23 (-97.41%)
Mutual labels:  fun, tree
Cub
The Cub Programming Language
Stars: ✭ 198 (-77.7%)
Mutual labels:  compiler, ast
A-for-apple
No description or website provided.
Stars: ✭ 14 (-98.42%)
Mutual labels:  fun, programming
Fast
Find in AST - Search and refactor code directly in Abstract Syntax Tree as you do with grep for strings
Stars: ✭ 194 (-78.15%)
Mutual labels:  compiler, tree
Node Dependency Tree
Get the dependency tree of a module
Stars: ✭ 383 (-56.87%)
Mutual labels:  ast, tree
Tiny Compiler
A tiny compiler for a language featuring LL(2) with Lexer, Parser, ASM-like codegen and VM. Complex enough to give you a flavour of how the "real" thing works whilst not being a mere toy example
Stars: ✭ 425 (-52.14%)
Mutual labels:  compiler, ast
Felix
The Felix Programming Language
Stars: ✭ 609 (-31.42%)
Mutual labels:  compiler, programming
Lexical syntax analysis
编译原理词法分析器&语法分析器LR(1)实现 C++
Stars: ✭ 173 (-80.52%)
Mutual labels:  compiler, syntax
Llvm Guide Zh
User Guides For those new to the LLVM system.(LLVM系统的新用户指南,中文翻译版)
Stars: ✭ 180 (-79.73%)
Mutual labels:  compiler, ast

ModiScript

Acche din aa gaye
Try the script in the ModiScript web UI

Vision

A Programming language is a wonderful medium of communication between man and machine. Many such languages are created, keeping in mind the comfort of the programmer. Such languages fulfill the computational needs of the world and serve their purpose. Somewhere in the midst of all this, the “fun” side of programming is lost.
Our project, “Modi Script” is one such esoteric language created with the sole intention of making use of quotes by our beloved PM Narendra Modi. The star feature of this language is that the language consists entirely of remarkable statements made by the PM. The language is dynamically typed and turing complete, sprinkled with words of wisdom by our PM!

Features

This scripting language includes some "ideas" of Shri Narendra Modi.

  • No import of code is allowed, we have to support him in Make in India.
  • No comments are allowed in code, everything should be clean as per Swachh Bharat Abhiyaan.
  • No redundant variables allowed, 'less government more governance.'
  • Like his speeches, all codes should start with mitrooon
  • All codes should end with acche din aa gaye, otherwise it's congress rule error.
  • The programming language is totally case insensitive because we should not believe discrimination based on higher or lower castes/cases.
  • No floating point numbers allowed, you can either be right front or left front, there is no mid-way.
  • you can use the --help flag for very discreet help.

Installation

To install, download the repo using:

git clone https://github.com/VPanjeta/ModiScript

Then add ModiScript to your PATH as:

  1. Temporary: Write export PATH=$PATH:/path/to/ModiScript to terminal.
  2. Permanent: Append export PATH=$PATH:/path/to/ModiScript to the end of your ~/.bashrc file.
    And then type
source ~/.bashrc

Execution

Write code in file with extension .chai
For execution type MODI filename.chai

Syntax and Grammar

Arithmetic, relational and logical operators can be used in their raw form as defined in c/c++ (i.e. '+' for addition '-' for subtraction '&&' for logical and '||' for logical or and so on..)
Modi-fied operators

  • sach for True
  • jhoot for False
  • plus for addition
  • substract for subtraction
  • taimes for multiplication
  • break for division
  • modi for mod
  • kam for less than
  • zyada for greater than
  • barabar for equal to
  • aur for logical AND
  • ya for logical OR

Flow of Control

  • { } define a block as in any other programming language.
  • if is defined as agar and else as nahi toh. if else ladder can be defined as agar (condition) { } nahi toh agar (condition) { } nahi toh{ }.
  • Looping constructs can be defined using jab tak condition hai { } (be careful here, we have been going according to hindi grammar that dictates the loop will exit when the condition is true, thus the loop executes till the condition is false not true)

General Syntax

  • Any quote in double or single inverted commas is taken as a string constant. eg "Modiji ka seena 56 inch ka hai".
  • Assignments to a variable can be done using hai keyword, x = y can be depicted as x y hai, or congress scamster hai .
  • The use of the word "hai" is optional so the statement can be defined as BJP winner which translates to BJP = winner and hai can be appended to end of any line to make it more grammarly suitable to hindi.
  • Output to STDOUT can be given using bhaiyo aur behno. bhaiyo aur behno "Hum UP me sarkaar bana chuke hai." will print "Hum UP me sarkaar bana chuke hai."
  • Input from STDIN can be taken using mann ki baat. mann ki baat RSS will take input into a variable named RSS.
  • Any excessive words defined in a line outside the scope of any operators or syntax will be neglected so you can write pure hindi codes and make them grammatically correct and give a pure Hindi Code demo in UN Assembly.

Example Code

Mitrooon
agar baat sach hai
    bhaiyo aur behno "Modi sabse achhe pradhan mantri hai."
nahi toh
    bhaiyo aur behno "Rahul Gandhi ko PM banaiye"
Achhe din aa gaye

Output: "modi sabse achhe pradhan mantri hai."

Example codes can be found in /example.

Creators

Ideas and Contributions for alpha version implemented by

Web UI over flask service implemented by

  • Daksh Miglani @DakshMiglani

  • You are welcome if you feel the need to contribute. Just clone the repo and send a pull request!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].