Russian Programming Language

He began developing the Russian programming language.
Abbreviated: RNP.
Well, and, as a result, he began developing the interpreter of the RNP.
The RNP resembles the KuMir language, but there will be significant differences and advantages in comparison with other languages.

Variables do not need to be declared, because the first time a variable is found in a program listing, the interpreter will automatically create a variable of the Double type (real number) with that name.

I write the interpreter in the 32-bit version of the Lazarus development environment (Pascal programming language).
In a row, of course, there are reserved words: beginning, end, if, cycle.
But reserved words can be used as variable names!

You can download the archive from the link, it contains a binary (version 0.2), simple programs: the C and Pascal
archives
will leave, the Python will drown, Java will be smoked!

Freely download and distribute, write programs, write to me about glitches.
Just please do not divide by zero! :)

APPENDIX 1 (February 28, 18:30 Moscow time):
1) Someone laughed at the name of the language, offered its own options.
Just like small children :)
2) Someone didn’t want to download the archive at all, probably didn’t even follow the link.
Who then came up with the URL and the whole philosophy of HTTP?
3) Someone does not want to detach from the English language.
Probably, and spree only in English, using words like startup, commit, fuck, life hack, hamburger, sweatshirt.

APPENDIX 2 (from February 28, 19:15 Moscow time): I
give Latin analogues in brackets.
The language constructs are implemented : beginning (begin; beginning of the cycle), cycle (cycle; end of the body of the cycle), if (if), = (assignment).

Binary operators: * (multiplication), + (addition), - (subtraction), / (division), ^ (exponentiation),
% (percentage), mod (remainder of division by number), and (bit AND), xor ( bit exclusive OR),
or (bit OR), >> (bit shift to the right).

Unary commands : LINvert (LInvert; logical inversion of a variable), round (round; rounding a real number to an integer), show (show; display the name and value of a variable)

Here is the code for calculating prime numbers:
 = 3
 = 60


  =  / 5
  
  = 1

 
  2 =  + 1
  0 =  mod 2
   = 0
   

   
   = 0

   =  - 1
   
   = 0
  

  
  

  =  + 2
  =  - 1
 


Result:
 = 3
 = 5
 = 7
 = 11
 = 13
 = 17
 = 19
 = 23
 = 29
 = 31
 = 37
 = 41
 = 43
 = 47
 = 53
 = 59
 = 61
 = 67
 = 71
 = 73
 = 79
 = 83
 = 89
 = 97
 = 101
 = 103
 = 107
 = 109
 = 113


PS For the future:
- The mechanism of arrays.

- Instead of assigning one variable, you can write a formula
on the left side of which can stand not only a variable, but also an operation with another variable.

- Code analysis.
Issuing detailed hints to the programmer.

- Automatically reformat the code to the desired style.

- The variable name can be abbreviated.
The interpreter will determine which variable of the declared was meant.

- Sometimes it is assumed that there is no space between the construction of the language (the loop, if) and the variable.

- Any code can be written on one line.

- Combining multiple code files in one file.

- Any number of letters in the name of the language design.

All Articles