Bonjour,
J'ai un projet à faire avec un language qui m'est inconnu: Python.
Je suis actuellement en train de lire des tutoriels, oeuvrages mais je ne trouve pas la reponse à ma question. voila mon sujet:
The task is to implement an interpreter for a very little language the syntax of which is given in the grammar below:
<program> ::= <expr> { ',' <expr> }* '.'
<expr> ::= <term> { ( '+' | '-' ) <term> }*
<term> ::= <factor> { ( '*' | '/' ) <factor> }*
<factor> ::= integer
For example, the following input
2 + 3, 6 - 2, 8 + 3 * 2.
gives the following output:
5, 4, 14
Question 1:
Je dois verifier que la <factor> donne est bien un entier. Je ne vois pas comment ecrire ma fonction pour tester cela et me revoyer un boolean.
Pour le retour de lavaleur je sais que je dois utiliser les valeurs 1 ou 0.
Il y a la fonction int() qui me transforme ma chaine en intier mais je ne vois pas comment l'exploiter.
Question 2:
Et il possible de recuperer les informations une par une. C'est a dire mon intier, puis mon operateur,... (l'equivalent du cin >> mastring en C++)
Je sais qu'il y a la fonction raw_input() mais je crois qu'elle me prend tout ce qui a été tappé (l'equuivalent du getlien(mastring) en C++).
merci d'avance de vos reponses.
Partager