Grammar/Grammar ändern

Probleme bei der Installation?
Antworten
gollumga
User
Beiträge: 12
Registriert: Donnerstag 24. November 2016, 18:14

Mittwoch 23. August 2017, 01:30

Ich habe mir vorgenommen ein paar kleine Änderungen/Additions zur Python Grammar für meinen Python Interpreter zu machen. Dazu habe ich mir die Python 3.6.2 Source heruntergeladen und dann testweise die Grammar/Grammar Datei in der del_stmt-Zeile folgendermaßen geändert:
[codebox=text file=GrammarNew.txt] del_stmt: 'del' exprlist | 'delete' exprlist[/code]
Dannach hab ich ganz normal ./configure --with-pydebug und make laufen lassen, ohne Fehlermeldung. Wenn ich dann aber den fertigen Python-Interpreter mit ./python starte und da dann:

Code: Alles auswählen

x = 'test'
delete x
ausführe kommt der Python Error:
[codebox=text file=Error1.txt]delete x
File "<stdin>", line 1
delete x
^
SyntaxError: invalid syntax[/code]
wenn ich delete alleine aufrufe:
[codebox=text file=Unbenannt.txt]Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'delete' is not defined
[/code]
Meine zwei Fragen: wieso hat Python meine Grammar changings offensichtlich nicht angenommen und wie kann ich das fixen? :K
Benutzeravatar
noisefloor
User
Beiträge: 2427
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 23. August 2017, 07:13

Hallo,

man muss das wohl an zwei Stellen ändern. In diesem Thread bei SO ist es erklärt: https://stackoverflow.com/questions/214 ... ons-syntax

Der Thread bei SO ist übrigens der 1. Suchtreffer bei Google, wenn man nach `python extend grammar` sucht.

Gruß, noisefloor
BlackJack

Mittwoch 23. August 2017, 08:37

@gollumga: Ich hoffe das ``delete`` ist nur ein Beispiel, denn Schlüsselworte kann man für nichts anderes mehr verwenden, und damit würde jeder Code der `delete` zum Beispiel für Funktions- oder Methodennamen verwendet, nicht mehr funktionieren. Aus der Standardbibliothek dürfte das mindestens Tkinter, `ftplib` und `imaplib` betreffen.
gollumga
User
Beiträge: 12
Registriert: Donnerstag 24. November 2016, 18:14

Mittwoch 23. August 2017, 09:37

@noisefloor Wieso hat dass dan hier: http://mathamy.com/import-accio-bootstr ... ammar.html ohne AST zu verändern geklappt?
Benutzeravatar
noisefloor
User
Beiträge: 2427
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Mittwoch 23. August 2017, 09:55

Hallo,
Wieso hat dass dan hier: http://mathamy.com/import-accio-bootstr ... ammar.html ohne AST zu verändern geklappt?
Gegenfrage: wieso fragst du mich das? Ich den diesen Blogpost nicht geschrieben noch war ich daran beteiligt. Außerdem kann ich dir auch nicht sagen, ob der Schreiber diese Blogpost 100% recht hat oder das ganze von vorne bis hinten gelogen ist. Das müsstest du dann wohl Amy Hanlon fragen...

Der Thread bei SO gilt übrigens für Python 3, der Blogpost von Amy Hanlon für Python 2.7. Keine Ahnung, ob das hier eine Rolle spielt. Welche Python-Version verwendest du?

Gruß, noisefloor
gollumga
User
Beiträge: 12
Registriert: Donnerstag 24. November 2016, 18:14

Mittwoch 23. August 2017, 10:05

Ich habs jetzt mal mit 2.7 getestet da muss man nur die Grammar File bearbeiten
Antworten