2015-01-25 24 views
6

Sto sviluppando una libreria di pitone ebraico per il mio bambino, che non parla ancora l'inglese. Finora sono riuscito a farlo funzionare (i nomi delle funzioni e le variabili funzionano bene). Il problema è con le istruzioni 'if', 'while', 'for', ecc. se questo fosse C++, ad es., usereiPython #define equivalente

#define if אם 

sono ci sono delle alternative per #define in Python?

**** EDIT ***** Per ora una soluzione rapida e sporca funziona per me; invece di eseguire il programma di corro questo codice:

def RunReady(Path): 
    source = open(Path, 'rb') 
    program = source.read().decode() 
    output = open('curr.py', 'wb') 

    program = program.replace('כל_עוד', 'while') 
    program = program.replace('עבור', 'for') 
    program = program.replace('אם', 'if') 
    program = program.replace(' ב ', ' in ') 
    program = program.replace('הגדר', 'def') 
    program = program.replace('אחרת', 'else') 
    program = program.replace('או', 'or') 
    program = program.replace('וגם', 'and') 
    output.write(program.encode('utf-8')) 
    output.close() 
    source.close() 
    import curr 

current_file = 'Sapir_1.py' 
RunReady(current_file) 
+0

check out https://github.com/lihaoyi/macropy – XrXrXr

+3

No, non è possibile rinominare la sintassi Python; il linguaggio semplicemente non lo supporta. Dovresti scrivere il tuo parser per trasformare la sintassi ebraica in sintassi Python. –

+0

stai insegnando Python a un bambino piccolo? – Scironic

risposta

6

Python 3 dispone di 33 parole chiave di cui solo pochi sono utilizzati da principianti:

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] 

Dato che Python non supporta le parole chiave ridenominazione è probabilmente più facile da insegnare alcune di queste parole chiave insieme alla programmazione didattica.

1

Che ne dici se aggiungi la roba #define quindi esegui il preprocessore c (ma non il compilatore) che ti darà una fonte python.