Es war in letzter Zeit zu kalt und ich bin im Begriff zu sterben ...
Ja, ich habe es aktualisiert. Die wichtigsten Änderungen sind
Klicken Sie hier für eine solche Omega-Version 0.1.0 (Github) ->https://github.com/pythonmaster1027/Omega-version0.1.0
Dateihierarchie
(Beliebiges Verzeichnis)
├ main.py
└ Omega.bat
Es gibt sehr wenig Code.
main.py
import os
import sys
class Start:#Ich möchte, dass du anfängst
def __init__(self):#Initialisieren
try:
self.f = open(sys.argv[1], "r", encoding="utf_8")
except IndexError:
print("Bitte geben Sie den Dateinamen an")
sys.exit()
except FileNotFoundError:
print("Datei nicht gefunden")
print("So lösen Sie: Machen Sie den Dateipfad zum vollständigen Pfad")
sys.exit()
self.r = self.f.readlines()
self.re = self.f.read()
self.dic1 = {}
def run(self):#Ich möchte, dass du rennst
if "class Main{\n" in self.r:
for line in self.r:
line = line.replace(" ", "").replace(" ", "").split("//")[0]#line = self.Programm Zeile für Zeile von f lesen
#print
if "print" and '"' in line:
pr = line.replace("print", "").replace("{", "").replace("}", "").replace('"', "")
print(pr)
#Variablendefinition
elif line.startswith("int") or line.startswith("str"):
self.var = line.replace('\n', "")
varname = self.var.split("=")[0]#Variablennamen
if line.startswith("int"):
try:
self.ele = eval(self.var.split("=")[-1].replace("int", ""))#Element vom Typ int
except NameError:
print("Err: NameErr")
self.ele = "Not int"
elif line.startswith("str"):
self.ele = self.var.split("=")[-1].replace("str", "")#Element vom Typ int
self.dic1[varname] = self.ele
#Drucken, der eine Variable als Argument angibt
elif "print" in line:
line = line.replace("print", "").replace("{", "").replace("}", "").replace("\n", "")
print(self.dic1[line])
elif line in "\n":
pass
else:
print("Err:Klasse[Main]Nicht gefunden")
sys.exit()
#Definition der Ausführungsfunktion
def main():
s = Start()
s.run()
#Ausführungsabteilung
if __name__ == '__main__':
main()
Python-Code, das war's. Nur. Als nächstes Omega.bat.
Omega.bat
@echo off
main.py %1
Diese Sprache besteht eigentlich nur aus 2 Dateien. Es ist erstaunlich, dass Sie mit nur zwei Dateien eine Sprache erstellen können. Als nächstes möchte ich auch die Funktionsdefinition implementieren.
Recommended Posts