[PYTHON] Ich habe meine eigene Sprache gemacht. (1)

Ich habe meine eigene Sprache gemacht.

Haben Sie jemals Ihre eigene Sprache erstellt? e? Gibt es? ,,,,,Oh ja.

warten! Gehen Sie nicht zurück zum Browser! Ist es interessant? Dieser Beitrag! ,,Ja. Vielen Dank. Diesmal noch einmal: "Ich habe versucht, meine eigene Sprache zu machen." Das ist das erste Mal. ~~ Nun, ich habe gerade einen Artikel darüber geschrieben. ~~ Dann lass uns jetzt gehen!

Was machst du daraus?

Ich schreibe (natürlich) ein Programm. Zu dieser Zeit kam es mir plötzlich in den Sinn. "Wenn Sie Ihren PC in einer Sprache unterrichten können, können Sie dasselbe in Ihrer eigenen Sprache tun?" Wenn ich jetzt darüber nachdenke, würde ich es sofort vergessen, aber da ich eine seltsame Person bin, "Wenn ja, lass es uns schaffen!" Ich dachte, dass.

Überblick

Verwenden Sie Python 3.8.5 Parser usw .: Alles von mir selbst gemacht (<Lob!)

Grammatik

Code usw.

Oh, ich habe vergessen, es zu schreiben, aber ich poste es auf Github. URL:https://github.com/pythonmaster1027/Omega-version0.0.5 Außerdem bin ich neu in Python. Ich kann keinen Code schreiben. Nicht schlecht. Es gibt auch einen interaktiven Typ. 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] # // Entfernen
 self.inp = self.inp.split ("#") [0] # # entfernen

    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()
    
 #Verarbeitung beim Drucken einer Zeichenfolge
    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)
        
 #Verarbeitung für die Variablendefinition
        elif "=" in self.inp:
            if self.inp.startswith("int "):
 self.inp = self.inp.replace ("int", "") # Entfernen Sie 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(" ", "")


 #Verarbeitung beim Drucken von Variablen
        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 () # list
        self.inp = inp

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


class Vpri:
 #inp = zum Drucken geordneter Variablenname
    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", "")
 für Zeile in fil_data: # Daten werden zeilenweise gelesen
            line = line.replace("{", "").replace("}", "").replace("'", "").replace(" ", "")
            #line = line.rstrip()
 s = line.split (":") [0] # Variablenname
 i = line.split (":") [-1] # Daten, die Variablen zugewiesen sind
            cov.write(s + "," + inp +"\n")
            if inp == s:
                print(i)
                break
            else:
                pass

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

Einfach zu verwenden

  1. Gehen Sie mit Omega.bat in den Ordner
  2. Dateiname, um Omega an der Eingabeaufforderung auszuführen
  3. Lauf!

Zusammenfassung

Das ist Dangomushi. Danke fürs Zuschauen.

Recommended Posts

Ich habe meine eigene Sprache gemacht. (1)
Ich habe meine eigene Sprache gemacht (2)
Ich habe meine eigene AML gemacht
Ich habe meine eigene Python-Bibliothek erstellt
Ich habe meinen eigenen primitiven statischen Site-Generator erstellt
Ich habe meinen eigenen Parallelverbindungsroboter gebaut (mechanische Ausgabe)
[Python] Ich habe meine eigene Bibliothek erstellt, die dynamisch importiert werden kann
Python> Ich habe einen Testcode für meine eigene externe Datei erstellt
Ich mache mein eigenes aws cli
Ich habe mein eigenes Filter-Plug-In für Ansibles Textanalyse erstellt
Ich habe mein eigenes Recherchetool mit der Gesetzes-API [Smart Roppo] erstellt.
Ich habe weder die Fähigkeiten noch die Stärke, aber ich habe meinen eigenen Compiler erstellt
[C Sprache] Meine Lokomotive ist zu langsam ~ Ich habe einen Sl-Befehl gegeben ~
Ich habe meinen Hund "Monaka Bot" mit Line Bot gemacht
[Ich habe versucht, Pythonista 3 zu verwenden] Importieren meines eigenen Moduls
Ich habe einen Ansible-Installer gemacht
Ich habe versucht, meinen eigenen Datensatz mit Chainer Trainer zu lernen
Ich habe meine eigene Django Middleware erstellt, damit ich von überall auf Anforderungsinformationen zugreifen kann
Heap-Sortierung in C-Sprache
Ich habe einen Xubuntu-Server erstellt.
Ich habe versucht, meine eigene Python-Baseballbibliothek bei Packaging & PyPI zu veröffentlichen
Ich habe einen Python-Text gemacht
Ich habe zum ersten Mal eine Überwachungskamera mit Raspberry PI gemacht.
Ich habe versucht, 100 Sprachverarbeitung klopfen 2020
Als ich einen Discord Bot gemacht habe, haben meine Klassenkameraden meinen Computer zerstört
Ich habe einen Zwietrachtbot gemacht
Ich habe COVID19_simulator mit JupyterLab erstellt
Ich habe Word2Vec mit Pytorch gemacht
Ich habe mit Python einen Blackjack gemacht.
Ich habe Wordcloud mit Python gemacht.
Ich habe ein Drehbuch gemacht, um bei meinem Koshien Hallo zu sagen
Ich habe mein eigenes neuronales 3-Layer-Forward-Propagation-Netzwerk erstellt und versucht, die Berechnung genau zu verstehen.
Ich habe eine C ++ - Lernseite erstellt
Ich habe einen Line-Bot mit Python gemacht!
Ich habe ein CUI-basiertes Übersetzungsskript erstellt (2)
Ich habe einen Anpanman-Maler diskriminiert
Ich habe einen Wikipedia Gacha Bot gemacht
Ich habe versucht, 100 Sprachverarbeitung klopfen 2020: Kapitel 3
Ich habe mit Python eine Lotterie gemacht.
Ich habe ein CUI-basiertes Übersetzungsskript erstellt
VIM-Einstellung (Bearbeiten meines eigenen Memos)
Ich habe ein Angular Starter Kit gemacht
Ich habe versucht, 100 Sprachverarbeitung klopfen 2020: Kapitel 1
Ich habe mit Python einen Daemon erstellt
Ich habe versucht, 100 Sprachverarbeitung zu klopfen 2020: Kapitel 2
Ich habe versucht, 100 Sprachverarbeitung zu klopfen 2020: Kapitel 4
Ich habe versucht, Linux auf meinem Mac zu installieren
Ich habe versucht, die Genauigkeit meines eigenen neuronalen Netzwerks zu verbessern
Ich habe eine Art einfaches Bildverarbeitungswerkzeug in der Sprache Go erstellt.
Ich dachte: "Mein Router für virtuelle Maschinen kann nicht so schnell sein."
Ich habe go Sprache für API und die minimale Konfiguration der Reaktion für die Front gemacht