8000 Working on library/parser (#822) · python/python-docs-fr@fb57ef1 · GitHub
[go: up one dir, main page]

Skip to content

Commit fb57ef1

Browse files
authored
Working on library/parser (#822)
1 parent 229ae21 commit fb57ef1

File tree

1 file changed

+50
-3
lines changed

1 file changed

+50
-3
lines changed

library/parser.po

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ msgstr ""
66
"Project-Id-Version: Python 3.6\n"
77
"Report-Msgid-Bugs-To: \n"
88
"POT-Creation-Date: 2018-12-21 09:48+0100\n"
9-
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
10-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9+
"PO-Revision-Date: 2019-06-20 14:07+0200\n"
10+
"Last-Translator: Julien Palard <julien@palard.fr>\n"
1111
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
1212
"Language: fr\n"
1313
"MIME-Version: 1.0\n"
@@ -16,7 +16,7 @@ msgstr ""
1616

1717
#: ../Doc/library/parser.rst:2
1818
msgid ":mod:`parser` --- Access Python parse trees"
19-
msgstr ""
19+
msgstr ":mod:`parser` — Accès aux arbres syntaxiques"
2020

2121
#: ../Doc/library/parser.rst:21
2222
msgid ""
@@ -28,13 +28,23 @@ msgid ""
2828
"in a manner identical to the code forming the application. It is also "
2929
"faster."
3030
msgstr ""
31+
"Le module :mod:`parser` expose une interface à l'analyseur et au compilateur "
32+
"de byte-code internes de Python. Son objectif principal est de permettre à "
33+
"du code Python de modifier l'arbre syntaxique d'une expression Python puis "
34+
"de la rendre exécutable. Cette approche est plus fiable que celle consistant "
35+
"à manipuler des chaines de caractères, puisque l'analyse est faite avec le "
36+
"même analyseur que celui utilisé pour le code de l'application. C'est aussi "
37+
"plus rapide."
3138

3239
#: ../Doc/library/parser.rst:30
3340
msgid ""
3441
"From Python 2.5 onward, it's much more convenient to cut in at the Abstract "
3542
"Syntax Tree (AST) generation and compilation stage, using the :mod:`ast` "
3643
"module."
3744
msgstr ""
45+
"À partir de Python 2.5, il est plus pratique de faire ces manipulations "
46+
"entre la génération de l'AST (*Abstract Syntax Tree*) et la compilation, en "
47+
"utilisant le module :mod:`ast`."
3848

3949
#: ../Doc/library/parser.rst:34
4050
msgid ""
@@ -43,6 +53,10 @@ msgid ""
4353
"editing the parse trees for Python code, but some examples of using the :mod:"
4454
"`parser` module are presented."
4555
msgstr ""
56+
"Certaines particularités de ce module sont importantes à retenir pour en "
57+
"faire un bon usage. Ce n'est pas un tutoriel sur la modification d'arbres "
58+
"syntaxiques Python, mais certains exemples d'utilisation du module :mod:"
59+
"`parser` sont présentés."
4660

4761
#: ../Doc/library/parser.rst:39
4862
msgid ""
@@ -64,6 +78,22 @@ msgid ""
6478
"from one version to another, whereas source code has always been forward-"
6579
"compatible."
6680
msgstr ""
81+
"Le prérequis le plus important est une bonne compréhension de la grammaire "
82+
"Python utilisée par l'analyseur interne dont la syntaxe est documentée "
83+
"exhaustivement dans :ref:`reference-index`. L'analyseur lui-même est généré "
84+
"à partir d'une grammaire spécifiée dans le fichier :file:`Grammar/Grammar` "
85+
"dans la distribution standard de Python. Les arbres syntaxiques stockés dans "
86+
"les objets ST créés par les fonctions :func:`expr` ou :func:`suite` de ce "
87+
"module sont directement le résultat de l'analyseur interne, alors que les "
88+
"objets ST créés par :func:`sequence2st` simulent ces structures. N'oubliez "
89+
"pas qu'une séquence considérée « correcte » dans une version de Python peut "
90+
"ne pas l'être dans une autre, la grammaire de Python pouvant évoluer. "
91+
"Cependant, déplacer du code source d'une version de Python à une autre sous "
92+
"forme textuelle donnera toujours des arbres syntaxique corrects, à "
93+
"l'exception qu'une version plus ancienne de l'interpréteur ne pourra pas "
94+
"analyser les constructions récentes du langage. Les arbres syntaxiques quant "
95+
"à eux ne sont généralement pas compatibles d'une version à l'autre, alors "
96+
"que le code source a toujours conservé la compatibilité ascendante."
6797

6898
#: ../Doc/library/parser.rst:56
6999
msgid ""
@@ -85,6 +115,23 @@ msgid ""
85115
"requested, the same token might be represented as ``(1, 'if', 12)``, where "
86116
"the ``12`` represents the line number at which the terminal symbol was found."
87117
msgstr ""
118+
"Chaque élément des séquences renvoyé par les fonctions :func:`st2list` ou :"
119+
"func:`st2tuple` possède une forme simple. Les séquences représentant des "
120+
"éléments non terminaux de la grammaire ont toujours une taille supérieure à "
121+
"un. Le premier élément est un nombre entier représentant un élément de la "
122+
"grammaire. Le fichier d'en-têtes C :file:`Include/graminit.h` et le module "
123+
"Python :mod:`symbol` attribuent des noms symboliques à ces nombres. Les "
124+
"éléments suivants représentent les composants, tels que reconnus dans la "
125+
"chaîne analysée, de cet élément grammatical : ces séquences ont toujours la "
126+
"même forme que leur parent. Notez que les mots clés utilisés pour identifier "
127+
"le type du nœud parent, tel que :keyword:`if` dans un :const:`if_stmt` sont "
128+
"inclus dans l'arbre du nœud sans traitement particulier. Par exemple, le mot "
129+
"clé :keyword:`!if` est représenté par la paire ``(1, 'if')``, où ``1`` est "
130+
"la valeur numérique pour les lexèmes :const:`NAME`, ce qui inclut les noms "
131+
"de variables et de fonctions définis par l'utilisateur. Dans sa forme "
132+
"alternative, renvoyée lorsque le numéro de la ligne est requis, le même "
133+
"lexème peut être représenté : ``(1, 'if', 12)``, où ``12`` est le numéro de "
134+
"la ligne sur laquelle le dernier symbole se trouve."
88135

89136
#: ../Doc/library/parser.rst:73
90137
msgid ""

0 commit comments

Comments
 (0)
0