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!
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.
Verwenden Sie Python 3.8.5 Parser usw .: Alles von mir selbst gemacht (<Lob!)
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
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
Das ist Dangomushi. Danke fürs Zuschauen.
Recommended Posts