Une autre façon d'utiliser python dans un navigateur (et pas seulement)

Contexte

Au printemps 2020, je me suis d'abord essayé dans le développement de sites web backend, j'ai écrit en python, et sur le front, j'ai dû utiliser js et cela m'a causé du rejet (ici il faut préciser que je ne considère pas js comme un langage terrible, je ne l'aimais tout simplement pas). Sans hésitation, j'ai commencé à écrire un traducteur de python vers javascript (et si je cherchais sur Google, je trouverais ceci et cela ). ce traducteur sera discuté.





Différences par rapport aux autres traducteurs

Au cours du processus de développement, j'ai lu sur JavaScript et pas beaucoup sur les autres langages (ruby, lua, php) et j'ai remarqué qu'ils avaient beaucoup en commun, par exemple la présence de conditionnelles, de fonctions, de variables, etc. Et puis j'ai pensé, pourquoi ne pas ajouter la possibilité de diffuser non seulement en js mais aussi dans d'autres langues.





Les langages sont ajoutés à l'aide de fonctions de gestionnaire, par exemple, un gestionnaire mathématique pour js ressemble à ceci:





def bin_op(left, right, op):
    return f"({left}{op}{right})"
      
      



et pour lisp, cela ressemblera à ceci:





def bin_op(left, right, op):
    return f"({op} {left} {right})"
      
      



Et aussi une caractéristique distinctive est la possibilité d'ajouter des macros, telles que la division entière en js:





signs = {"//": lambda l, r: f"Math.floor({l}/{r})"}
      
      



Qui en a besoin

L'une des options pour utiliser le projet est d'écrire des scripts dans les jeux, puisque python est assez lourd pour un langage embarqué, vous pouvez utiliser la traduction vers lua.





Vous pouvez également l'utiliser comme linter python avec correction des erreurs dans les noms de fonctions.





( js pascal) .





, - . : ( python ) .





, , . - , .





java. Java(jvm) - , , : Kotlin, Java, Clojure .





js, go, hello world (c++).





.





if...elif...else, while, for(C for each), . . .





, python. . .





web :





P.S.

.





Soutenez le projet avec un astérisque sur github





Rejoignez la chaîne de télégramme








All Articles