Seite 1 von 1

Grammar/Grammar ändern

Verfasst: Mittwoch 23. August 2017, 01:30
von gollumga
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

Re: Grammar/Grammar ändern

Verfasst: Mittwoch 23. August 2017, 07:13
von noisefloor
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

Re: Grammar/Grammar ändern

Verfasst: Mittwoch 23. August 2017, 08:37
von BlackJack
@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.

Re: Grammar/Grammar ändern

Verfasst: Mittwoch 23. August 2017, 09:37
von gollumga
@noisefloor Wieso hat dass dan hier: http://mathamy.com/import-accio-bootstr ... ammar.html ohne AST zu verändern geklappt?

Re: Grammar/Grammar ändern

Verfasst: Mittwoch 23. August 2017, 09:55
von noisefloor
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

Re: Grammar/Grammar ändern

Verfasst: Mittwoch 23. August 2017, 10:05
von gollumga
Ich habs jetzt mal mit 2.7 getestet da muss man nur die Grammar File bearbeiten