[PYTHON] J'ai fait ma propre langue. (1)

J'ai fait ma propre langue.

Avez-vous déjà créé votre propre langue? e? y a-t-il? ,,,,,Oh oui.

attendez! Ne retournez pas dans le navigateur! C'est interessant? Cet article! ,,Oui. Merci beaucoup. Encore une fois, cette fois, "j'ai essayé de créer ma propre langue" C'est la première fois. ~~ Eh bien, je viens d'écrire un article à ce sujet. ~~ Alors allons-y maintenant!

Que faites-vous?

J'écris un programme (bien sûr). À ce moment-là, cela m'est soudainement venu à l'esprit. "Si vous pouvez instruire votre PC dans une langue, pouvez-vous faire de même dans votre propre langue?" Quand j'y pense maintenant, c'était quelque chose que j'oublierais immédiatement, mais puisque je suis une personne étrange, "Si oui, faisons-le!" Je pensais que.

Aperçu

Utilisez python 3.8.5 Parser etc.: Tout fait par moi-même (<-praise!)

grammaire

--Je veux spécifier le type -Je veux utiliser {} au lieu de (). J'aime personnellement la forme. ――Pour l'instant, la définition de la fonction est laissée. Mais je veux y arriver. Parce que c'est toujours la première fois.

Code etc.

Oh, j'ai oublié de l'écrire, mais je le poste sur Github. URL:https://github.com/pythonmaster1027/Omega-version0.0.5 De plus, je suis nouveau sur Python. Je ne suis pas doué pour écrire du code. Pas mal. Il existe également un type interactif. URL:https://github.com/pythonmaster1027/Omega-version0.0.1

code

import sys
import os
from main import *

class Fread:
    def __init__(self):
        self.opf = open(str(sys.argv[1]), "r", encoding="utf_8")
    def run(self):
        opf2 = self.opf.readlines()
        for inp in opf2:
            m = Main(inp)
            m.serf()

import sys
from reanp import *
import os
from collections import defaultdict

global d, x, y

class Main:
    def __init__(self, inp):
        self.inp = inp
        self.dict = {}
        self.d = defaultdict(list)
 self.inp = self.inp.split ("//") [0] # // Supprimer
 self.inp = self.inp.split ("#") [0] Supprimer # #

    def serf(self):
        if self.inp.startswith("def ") or self.inp.startswith("    "):
            self.inp = self.inp.replace("    ", "")
            self.inp = self.inp.replace(";", "")
            print(self.inp)

            self.run()
        else:
            self.run()
    
 #Traitement lors de l'impression d'une chaîne de caractères
    def run(self):
        if self.inp.startswith("print{") and "}" in self.inp and '"' in self.inp:
            self.inp = self.inp.replace("print{", "")
            self.inp = self.inp.replace("}", "")
            self.inp = self.inp.replace('"', "")
            print(self.inp)
        
 #Traitement pour la définition de variable
        elif "=" in self.inp:
            if self.inp.startswith("int "):
 self.inp = self.inp.replace ("int", "") # Supprimer un int
                self.inp = self.inp.replace(" ", "")
                self.x = self.inp.split("=")[0]
                self.y = eval(self.inp.split("=")[-1])
                self.dict[self.x] = self.y
                f = open("sys\\var.oms", "a", encoding="utf_8")
                f.write(str(self.dict)+"\n")
                f.close()
            
            if self.inp.startswith("void "):
                self.inp = self.inp.replace("void", "")
                self.inp = self.inp.replace(" ", "")


 #Traitement lors de l'impression de variables
        elif self.inp.startswith("print{") and "}" in self.inp:
            self.inp = self.inp.replace("print{", "")
            self.inp = self.inp.replace("}", "")
            r = Read(self.inp)
            r.run()
        
        elif self.inp == "\n":
            pass
        
        elif self.inp == "exit{}":
            sys.exit(0)

        else:
            print("Err:No funcsion Error")

from ast import literal_eval
from pprint import pprint

class Read:
    def __init__(self, inp):
        self.f = open("sys\\var.oms", "r", encoding="utf_8")
 self.r = self.f.readlines () # liste
        self.inp = inp

    def run(self):
        inp = self.inp
        v = Vpri()
        v.run(inp)
        self.f.close()


class Vpri:
 #inp = nom de la variable à imprimer
    def run(self, inp):
        fil_data = open("sys\\var.oms", encoding="utf_8")
        cov = open("sys\\varconp.oms", "w", encoding="utf_8")
        inp = inp.replace("\n", "")
 pour ligne dans fil_data: # Données lues ligne par ligne
            line = line.replace("{", "").replace("}", "").replace("'", "").replace(" ", "")
            #line = line.rstrip()
 s = line.split (":") [0] # nom de variable
 i = line.split (":") [-1] # Données affectées aux variables
            cov.write(s + "," + inp +"\n")
            if inp == s:
                print(i)
                break
            else:
                pass

        fil_data.close()
        cov.close()
@echo off
read.py %1

Facile à utiliser

  1. Accédez au dossier avec Omega.bat
  2. Nom de fichier pour exécuter Omega à l'invite de commande
  3. Courez!

Sommaire

C'est dangomushi. Merci d'avoir regardé.

Recommended Posts

J'ai fait ma propre langue. (1)
J'ai fait ma propre langue (2)
J'ai fait ma propre AML
J'ai créé ma propre bibliothèque Python
J'ai créé mon propre générateur de site statique primitif
J'ai fait mon propre robot à liaison parallèle (édition mécanique)
[Python] J'ai créé ma propre bibliothèque qui peut être importée dynamiquement
Python> J'ai créé un code de test pour mon propre fichier externe
Je crée mon propre cli aws
J'ai créé mon propre plug-in de filtre pour l'analyse de texte d'Ansible
J'ai créé mon propre outil de recherche à l'aide de l'API Law [Smart Roppo]
Je n'ai ni les compétences ni la force, mais j'ai créé mon propre compilateur
[Langage C] Ma locomotive est trop lente ~ J'ai fait une commande sl ~
J'ai fait mon chien "Monaka Bot" avec Line Bot
[J'ai essayé d'utiliser Pythonista 3] Importation de mon propre module
J'ai créé un installateur Ansible
J'ai essayé d'apprendre mon propre ensemble de données en utilisant Chainer Trainer
J'ai créé mon propre middleware Django afin de pouvoir accéder aux informations de demande de n'importe où
Tri de tas fait en langage C
J'ai créé un serveur Xubuntu.
J'ai essayé de publier ma propre bibliothèque de baseball Python sur Packaging & PyPI
J'ai fait un texte Python
J'ai fait une caméra de surveillance avec Raspberry PI pour la première fois.
J'ai essayé 100 traitements linguistiques Knock 2020
Quand j'ai créé un Discord Bot, mes camarades de classe ont détruit mon ordinateur
J'ai fait un robot discord
J'ai créé COVID19_simulator avec JupyterLab
J'ai créé Word2Vec avec Pytorch
J'ai fait un blackjack avec Python.
J'ai créé wordcloud avec Python.
J'ai fait un script pour dire bonjour à mon Koshien
J'ai créé mon propre réseau de neurones à propagation directe à 3 couches et j'ai essayé de comprendre le calcul en profondeur.
J'ai créé un site d'apprentissage C ++
J'ai fait un Line-bot avec Python!
J'ai créé un script de traduction basé sur CUI (2)
J'ai fait un peintre discriminateur Anpanman
J'ai fait un wikipedia gacha bot
J'ai essayé 100 traitements linguistiques Knock 2020: Chapitre 3
J'ai fait une loterie avec Python.
J'ai créé un script de traduction basé sur CUI
paramètre vim (modification de mon propre mémo)
J'ai fait un kit de démarrage angulaire
J'ai essayé 100 traitements linguistiques Knock 2020: Chapitre 1
J'ai créé un démon avec Python
J'ai essayé 100 traitements linguistiques Knock 2020: Chapitre 2
J'ai essayé 100 traitements linguistiques Knock 2020: Chapitre 4
J'ai essayé d'installer Linux sur mon Mac
J'ai essayé d'améliorer la précision de mon propre réseau neuronal
J'ai fait une sorte d'outil de traitement d'image simple en langage Go.
Je l'ai fait penser "Mon routeur de machine virtuelle ne peut pas être aussi rapide"
J'ai fait go language pour api et la configuration minimum de react pour le front