Langue de programmation russe

Il a commencé à développer le langage de programmation russe.
Abrégé: RNP.
Eh bien, et, par conséquent, il a commencé à développer l'interprète de la RNP.
Le RNP ressemble à la langue KuMir, mais il y aura des différences et des avantages significatifs par rapport aux autres langues.

Les variables n'ont pas besoin d'être déclarées, car la première fois qu'une variable est trouvée dans une liste de programmes, l'interpréteur créera automatiquement une variable de type Double (nombre réel) avec ce nom.

J'écris l'interpréteur dans la version 32 bits de l'environnement de développement Lazarus (langage de programmation Pascal).
Dans une rangée, bien sûr, il y a des mots réservés: début, fin, si, cycle.
Mais les mots réservés peuvent être utilisés comme noms de variables!

Vous pouvez télécharger l'archive à partir du lien, elle contient un binaire (version 0.2), des programmes simples: les
archives
C et Pascal partiront, le Python va se noyer, Java va être fumé!

Téléchargez et distribuez librement, écrivez des programmes, écrivez-moi sur les problèmes.
Veuillez ne pas diviser par zéro! :)

ANNEXE 1 (28 février, 18 h 30, heure de Moscou):
1) Quelqu'un a ri du nom de la langue, a proposé ses propres options.
Tout comme les petits enfants :)
2) Quelqu'un ne voulait pas télécharger l'archive du tout, probablement même pas suivi le lien.
Qui est alors venu avec l'URL et toute la philosophie du HTTP?
3) Quelqu'un ne veut pas se détacher de la langue anglaise.
Probablement, et frénésie uniquement en anglais, en utilisant des mots comme démarrage, commit, fuck, life hack, hamburger, sweatshirt.

ANNEXE 2 (du 28 février, 19 h 15, heure de Moscou): Je
donne des analogues latins entre parenthèses.
Les constructions de langage sont implémentées : début (début; début du cycle), cycle (cycle; fin du corps du cycle), si (si), = (affectation).

Opérateurs binaires: * (multiplication), + (addition), - (soustraction), / (division), ^ (exponentiation),
% (pourcentage), mod (reste de la division par nombre), et (bit ET), xor ( bit OU exclusif),
ou (bit OR), >> (décalage de bit vers la droite).

Commandes unaires: LINvert (LInvert; inversion logique d'une variable), round (arrondir; arrondir un nombre réel à un entier), afficher (afficher; afficher le nom et la valeur d'une variable)

Voici le code pour calculer les nombres premiers:
 = 3
 = 60


  =  / 5
  
  = 1

 
  2 =  + 1
  0 =  mod 2
   = 0
   

   
   = 0

   =  - 1
   
   = 0
  

  
  

  =  + 2
  =  - 1
 


Résultat:
 = 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 Pour l'avenir:
- Le mécanisme des tableaux.

- Au lieu d'affecter une variable, vous pouvez écrire une formule
sur le côté gauche qui peut contenir non seulement une variable, mais aussi une opération avec une autre variable.

- Analyse de code.
Émettre des conseils détaillés au programmeur.

- Reformatez automatiquement le code dans le style souhaité.

- Le nom de la variable peut être abrégé.
L'interpréteur déterminera à quelle variable de la déclaration était destiné.

- Parfois, on suppose qu'il n'y a pas d'espace entre la construction du langage (la boucle, si) et la variable.

- Tout code peut être écrit sur une seule ligne.

- Combinaison de plusieurs fichiers de code dans un seul fichier.

- N'importe quel nombre de lettres au nom de la conception de la langue.

All Articles